请问什么是回绕操作?
刚看到,对于变量,如果赋值不合适,会产生回绕操作,例如,给无符号数赋负值,给整型变量赋值超过范围等等我自己试了一下,编译确实没问题,但运行结果我没看出规律。
搜索了一下,没有找到答案,哪位大虾帮介绍一下回绕操作这个概念。
谢先!
在计算机里有符号数的负数(最高位为符号位,0表示为正数,1表示为负数)是以补码形式储存。所以将一个负数赋值给一个无符号变量就会把那个数的补码放入无符号变量。
补码计算方式:A的补码=A的反码+1 (A>0)
反码计算方式:A的反码=!A
简单举例:A=1,变量长度为32位(Long)
A的反码就是11111111,11111111,11111111,11111110
A的补码就是11111111,11111111,11111111,11111111
所以-1的在内存中就和0xFFFFFFFF(无符号最大数相同)
[此贴子已经被作者于2007-6-2 12:01:29编辑过]