原码 反码 补码的问题
个人理解 一个小例子int a= 1;
int类型是4字节一字节是8位数那计算器中存储应该是 32位
0000 0000 0000 0000 0000 0000 0000 0001
(问题在这里) 那么如果是负数 计算机应该是用补码的方式存储
int b= -1;
原码: 1000 0000 0000 0000 0000 0000 0000 0001
反码: 1111 1111 1111 1111 1111 1111 1111 1110
补码: 1111 1111 1111 1111 1111 1111 1111 1111
计算器程序员型 算出来的却是64位
求解释 而且 用计算器32个1是没办法得到-1的 必须输入64个二进制1
计算器屏幕下的Qword是可以切换的,qword表示4字,一个字两字节16位。4字就是64位,同理还有双字Dword(32位),word单字(16位),byte字节(8位) 你这计算器是64位的,你看看能不能设置成32位的,或者用WINDOWS自带的计算器,64位的原码 反码 补码和32位,16位的规律都是一样的 应该是和你的系统有关系吧,64位的就出来64个数,32位就出来32个数,我的计算机是64位的,-1的补码也是64个1,那既然64个1组成的补码才是-1,那输入32个1的话肯定不是-1的 I love fishc,com
页:
[1]