阶码为5,尾数为10,写出-122/1024对应的浮点规格化数的原码,补码,反码?
-122/1024对应的浮点规格化数的原码,补码,反码的计算步骤如下:
首先,将-122/1024转换为二进制数,得到-0.0001111010
然后,将二进制数规格化,即将小数点左移,使得尾数的最高位为1,同时调整阶码的值。假设阶码为5位,尾数为10位,基数为2,则规格化后的形式为-1.111010×2^-7
接着,将阶码和尾数分别用补码或原码表示。阶码用移码表示,即在原码的基础上加上偏置量(bias),偏置量为2^(k-1)-1,其中k为阶码的位数。尾数用原码或补码表示,原码规格化数的尾数最高位一定是1,补码规格化数的尾数最高位一定与尾数符号位相反1。
最后,将符号位、阶码和尾数拼接起来,得到浮点规格化数的不同表示形式。
原码:符号位为1,阶码为-7的原码为10001,加上偏置量16(2^(5-1)-1)得到移码10001+10000=100001,尾数为1.111010的原码为1111010(最高位省略),拼接起来得到原码为11000011111010
补码:符号位为1,阶码与原码相同为100001,尾数为1.111010的补码为10000110(最高位与符号位相反),拼接起来得到补码为110000110000110
反码:符号位为1,阶码与原码相同为100001,尾数为1.111010的反码为01111001(按位取反),拼接起来得到反码为110000101111001
具体计算如下: