已知计算机的字长为8位,求十进制数—102的原码、反码和补码.

1个回答

  • 因为数据在计算机中都是以二进制表示的,编译系统对于不同类型的变量分配不同大小的存贮空间,制定不同的取值范围.比如整型在计算机中的存储用2个字节16位的存储空间,其中的最高位代表符号位的,符号位为0表示的是正数,符号位为1表示为负数,整型数据在内存中以二进制的补码存放.

    以10和-10说明正数在内存中的存放形式:

    十进制 10 -10

    二进制原码 0000000000001010 1000000000001010

    二进制反码 0000000000001010 1111111111110101

    二进制补码 0000000000001010 1111111111110110

    楼主一看便知的,此处我是举的字长为16位的时候的,8位的时候只需要去除中间的8位即可的.当为负数的时候,首位为1,不管是原码、反码还是补码都不变的,补码是在原码的基础上加1得到的,反码是在原码的基础上除了首位而外全部取反得到的.