“3的补码是0000011.所以移码就是10000011”只是移码的概念,有人称为符号位取反的补码。但在表示float数中的阶码时,为了某种需要,是将求得的移码减去127记录的,就是说表示一个单精度浮点数的阶码是真正的移码-127的值,所以真正计算时要加上127。而要是bouble型浮点数就得加上1023了!所以“3的补码是0000011.所以移码就是10000011”和“移码就是127+3=130.所以是10000010”都是对的,只是这里还有点“一般”与“具体”的关系你不知道而已:前者是移码概念,后者是用移码表示浮点数阶码的具体方法。
补码变移码,常见的说法是:符号位取反。
其实,这是“加 128”的简单算法。
。
移码的定义是:移码=补码+偏移量。
其中的偏移量,是要根据具体的要求而定的。
。
一般讨论,偏移量是 128。
在 IEEE754 中,偏移量是 127 或 1023。
在某些应用中,偏移量还有取为 64 的。
就是这么回事。
我算7的移码的时候结果为:10000111。因为7的二进制是111 而课本上的结果是:10000110。是我错了还是课本错了
答案应该错了吧,移码是对真值加上2^7,也就是128,而不是127……
阶码=移码-1