万古一念间 发表于 2018-12-3 15:02:39

原码 反码 补码的问题

个人理解 一个小例子
        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
       
       
       

Mountain_gs 发表于 2018-12-3 15:02:40

计算器屏幕下的Qword是可以切换的,qword表示4字,一个字两字节16位。4字就是64位,同理还有双字Dword(32位),word单字(16位),byte字节(8位)

rencaixiaomeng 发表于 2018-12-3 23:06:32

你这计算器是64位的,你看看能不能设置成32位的,或者用WINDOWS自带的计算器,64位的原码 反码 补码和32位,16位的规律都是一样的

啊涂涂 发表于 2018-12-4 09:29:37

应该是和你的系统有关系吧,64位的就出来64个数,32位就出来32个数,我的计算机是64位的,-1的补码也是64个1,那既然64个1组成的补码才是-1,那输入32个1的话肯定不是-1的

yuyou517 发表于 2018-12-15 15:22:42

I love fishc,com
页: [1]
查看完整版本: 原码 反码 补码的问题