8位二进制补码01101101就是整数+109,变号操作之后变成-109,而-109的8位二进制补码为10010011。
原码表示:将符号位数码化了的数,其中“+”用0表示,“-”用1表示。
反码表示:正数的反码表示与原码表示一样;负数的反码表示是原码表示的符号位不变,数值位逐位取反。
补码表示:正数的补码表示与原码表示一样;负数的补码表示是原码表示的符号位不变,数值位逐位取反后最低位加1(反码表示最低位加1)。
你先要搞清楚“变号操作”是咋回事儿才行。所谓变号操作就是将正数变成绝对值相等的那个负数,而将负数变成绝对值相等的正数。
8位二进制补码01101101就是整数+109,变号操作之后变成-109,而-109的8位二进制补码为10010011,因此应当选C。
所谓的“变号操作”,就是数学里面的《求相反的数》。
在纸上写,就是在原数前面,添上一个负号。
在计算机里面,原数如果是补码,那么,连同符号位一起都《求反加一》,
即可得到《与原数相反的数》的补码。
0110 1101 >>>>>>>1001 0010 + 1 = 1001 0011。
>>>>>>>>全部求反加一>>>
这方法简便且正确,不用管它原来是正是负,更不用涉及到原码、反码以及真值。
在计算机语言中,NEG 指令,就是求《与原数相反的数》的指令。
它的实际操作,就是:连同符号位一起都《求反加一》。