计算机中常采用原码、反码、补码和移码表示数据,其中,±0编码相同的是()。
- A.原码和补码
- B.反码和补码
- C.补码和移码
- D.原码和移码
正确答案及解析
正确答案
C
解析
设机器字长为n(即采用n个二进制位表示数据),最高位是符号位,0表示正号,1表示负号。原码表示方式下,除符号位外,n-1位表示数值的绝对值。因此,n为8时,[+0]原=0000000,[-0]原=10000000。正数的反码与原码相同,负数的反码则是其绝对值按位求反。n为8时,数值0的反码表示有两种形式:[+0]反=00000000,[-0]反=111111111。正数的补码与其原码和反码相同,负数的补码则等于其反码的末尾加1。在补码表示中,0有唯一的编码:[+0]原=0000000,[-0]原=0000000。移码表示法是在数叉上增加一个偏移量来定义的,常用于表示浮点数中的阶码。机器字长为n时,在偏移量为2的情况下,只要将补码的符号位取反便可获得相应的移码表示。