有符号数据表示法
在计算机内,有符号数有3种表示法:原码、反码和补码。所有数据的运算都是采用补码进行的。
原码
就是二进制定点表示法,即最高位为符号位,“0”表示正,“1”表示负,其余位表示数值的大小。
正数的原码最高位是 0
负数的原码最高位是 1
其他的是 数值位
符号位 数值位
+7 0 0000111
-7 1 0000111
反码
正数的反码与其原码相同;负数的反码与原码是符号位不变,数值位取反,就是1变0, 0变1。
符号位 数值位
+7 0 0000111
-7 1 1111000
补码
正数的补码与其原码相同;负数的补码是在其反码的末位加1。
符号位 数值位
+7 0 0000111
-7 1 1111001
示例:
1、已知某数据的X的原码为10110100b , 试求X的补码和反码?
原码: 10110100
符号位 数值位
原码: 1 0110100
反码: 1 1001011
补码: 1 1001100
2、已知某数X的补码为 11101110b , 试求原码?
符号位 数值位
补码: 1 1101110
反码: 1 1101101
原码: 1 0010010