关于float阶码部分用移码表示的问题
子虚 2012-08-17 09:36:55 按照IEEE754标准,float型符号位1位,指数(阶码)位8位,尾数位23位。指数位用移码表示。那么120.5的浮点数表示应该为:
0 10000110 11100010000000000000000。
但是在VC++6.0上120.5是:
0 10000101 11100010000000000000000。
120.5的二进制为:01111000.1。要往前左移6位,6的补码为00000110。移码是符号位取反的补码,6的移码应该为10000110,那为什么会是10000101呢?还有,书上说,引入移码是为了让浮点数的机器零为全0,这句话什么意思?求解释,谢谢。