因为数据在计算机中都是以二进制表示的,编译系统对于不同类型的变量分配不同大小的存贮空间,制定不同的取值范围。比如整型在计算机中的存储用2个字节16位的存储空间,其中的最高位代表符号位的,符号位为0表示的是正数,符号位为1表示为负数,整型数据在内存中以二进制的补码存放。
以10和-10说明正数在内存中的存放形式:
十进制 10 -10
二进制原码 0000000000001010 1000000000001010
二进制反码 0000000000001010 1111111111110101
二进制补码 0000000000001010 1111111111110110
而对于这一道题目没有达到正数的存储长度,即符号位不为1的,所以化为十进制后为正数,题中的二进制标准表示为0000000010100110和0000000000001100,由此看出符号位为0,代表正数的。所以,
10100110=1×2^7+1×2^5+1×2^2+1×2^1=166
1100=1×2^3+1×2^2=12.
题中的1100如果为十进制的话转化为二进制的话为00000100 01001100不是-4也不是12。O(∩_∩)O~ 可能是你的题目写错了的把!
温馨提示:答案为网友推荐,仅供参考