计算机内存储整数都是用的补码。
已知十进制求二进制
- 求正整数的二进制
除2取余,直至商为0,余数倒叙排序
- 求负整数的二进制
先求出与该负数相对应的正整数的二进制代码,然后将所有位取反,末尾加1,不够位数时,左边补1【所谓不够位数就是不满数据类型的长度,例int i = -3,int为32bit,而-3的绝对值的二进制代码为11,加1后为100,占3位,则左边的28位都补1】
0全是0
已知二进制求十进制
- 如果首位时0,则表明时正整数,按普通换算方法来求
- 如果首位是1,则表明是负数
将所有位取反,末尾加1,所得数字就是该负数的绝对值
- 如果全是0,则对应的十进制数字就是0
输出结果为
从上面的结果我们可以看出,在有符号整形变量中,所能存储的整数范围是