浮点数的表示中为什么要用移码表示阶码?
比如 阶码为7 和-7两个值进行比较
如果直接用补码或者源码 则需要符号位即0 0000111/ 1 0000111
这样在比较浮点数的时候就要比较两次符号位 即 阶码的符号位 跟尾数的数符 对机器来说麻烦
而如果采用移码 机器位为8的话 偏移量为2^7=127 即7=134 -7=120
这样对134 跟120比较进行比较就不需要考虑符号位
之所以偏移量一般为2^n-1 就是为了将[-2^(n-1),2^(n-1)-1)的值域转换为[0,2^n-1)免除符号位
如果直接用补码或者源码 则需要符号位即0 0000111/ 1 0000111
这样在比较浮点数的时候就要比较两次符号位 即 阶码的符号位 跟尾数的数符 对机器来说麻烦
而如果采用移码 机器位为8的话 偏移量为2^7=127 即7=134 -7=120
这样对134 跟120比较进行比较就不需要考虑符号位
之所以偏移量一般为2^n-1 就是为了将[-2^(n-1),2^(n-1)-1)的值域转换为[0,2^n-1)免除符号位
知乎链接:https://www.zhihu.com/question/24115452/answer/81847067