-2^n是否有原码和反码?
来源:4-5 二进制的反码表示法

江南土豆
2019-11-02
-2^n 的补码,实际上是使用 “-0” 的补码来表示,而在原码和反码中,实际上仍然表示了 “+0” 和 “-0” ,-2^n 的原码和反码和其他数字发生了冲突。
例如用8位表示-128的补码是1,0000000,如果它的原码和反码存在,反码为0,1111111原码为1,0000000,和“-0”冲突。所以8位二进制补码的表示范围是 -128 ~ 127,但原码和反码的表示范围为-127 ~ 127。
因为本课程中对反码的范围写的是 [-2^n, 2^n),所以有此疑问。
(抱歉之前一个问题 -2^n 误写为 2^-n,所以重开一个)
写回答
1回答
-
嗯,理解了,这是一个好问题,也是一个很细节的问题,点赞。
直接说结论,-2^n是没有原码和反码的,同学的理解和演算过程都是ok的,课程的PPT有问题。
反码的范围应该是(-2^n, 2^n)(开区间)。
感谢同学的提问,后续老师会更正相关PPT。
022019-11-03
相似问题