-42的补码是多少,老师讲的是42转换为二进制为101010,前面负号➕1所以1101010?

如题所述

不对,1101010为-42的原码而不是补码。-42转换为补码需要分为两步来看,-说明补码的第一位符号位为1。数值位的转换步骤为:10进制的42转换为2进制的101010,原码的数值位和二进制数相同,为101010;负数转补码遵循原则“按位取反,末尾加1”,按位取反得:010101,再+1,为010110,添上最前面的符号位1,所以-42的补码为1010110。

补充知识:
补码、原码、二进制之间的换算规则(此处仅讨论整数):
正数:设二进制正整数x,原码在首位添加符号位0,为0x,补码和原码相同,也为0x;
负数:对于二进制负整数-x,原码在首位添加符号位1,为1x,补码的转换为:最高位符号位的1保留,x按位取反末尾+1即可(若出现进位则舍弃掉进位的数)。
0:0的二进制还是0,但对于0来说,原码分为+0和-0两个,所以0的原码为00或10,补码则不受+0、-0的影响,为00。
温馨提示:答案为网友推荐,仅供参考
相似回答