一、码制
1、机器数:计算机用二进制的方式来表示一个数,最高位是符号位
2、原码:带符号位的二进制数,正数符号位为0,负数符号位为1
3、反码:正数的反码是原码,负数的反码则是符号位不变,其他位取反(0的反码是1,1的反码是0)
4、补码:正数的补码是原码,负数的补码则是反码+1;【应用于加减法(避免符号位与数字一起运算)】
5、移码:正数的移码是原码,负数的移码则是反码+1 ,正数符号位为1,负数符号位为0 ;【应用于浮点数】
二、数据计算用补码?
原码:
数值1:0000 0001
数值-1:1000 0001
数值1加数值-1:1000 0010(等于-2所以这样计算是错误的)
反码:
数值1:0000 0001
数值-1:1111 1110
数值1加数值-1:1111 1111(不等于0所以这样计算是错误的)
补码:
数值1:0000 0001
数值-1:1111 1111
数值1加数值-1:0000 0000(等于0)
移码:
数值1:1000 0001
数值-1:0111 1111
数值1加数值-1:1000 0000(不等于0所以这样计算是错误的)
三、整数数值范围:
1、原码:-2的n-1次方-1到2的n-1次方-1 【负数减一因为0有正0和负0】
2、反码:-2的n-1次方-1到2的n-1次方-1 【负数减一因为0有正0和负0】
3、补码:-2的n-1次方到2的n-1次方-1
4、移码:-2的n-1次方到2的n-1次方-1