1.
请写出下列十进制整数在计算机中的二进制存储形式(假设为16位整数):
32767:
-1:
32768:
-2:
答案: 0111111111111111
1111111111111111
1000000000000000
1111111111111110
解析:第一空:正数的原码反码补码相同,符号位为0,其余位为绝对值;第二空:原码为1000000000000001,反码为1111111111111110,补码为1111111111111111;第三空:32767的原码为0111111111111111,则32768的原码为32767的原码加一(其实16位二进制最大编码到32767);第四空方法同第二空。
2.
写出下列十进制实数在计算机中的二进制存储形式(假设为64位浮点数):
123456789.87654321:
-1.0:
答案:0100000110011101011011110011010001010111100000011001010010001011
1011111111110000000000000000000000000000000000000000000000000000
解析:
先把原十进制数转换为二进制数(整数部分除二取余,小数部分乘二取整),再把得到的二进制数写成科学计数法的形式,则可以得到指数e的值,则E=e+1023。得到的答案中,第一位为符号位,之后的11位表示E,最后52位为二进制数的小数部分,不足部分补0。
3.
假设一个十进制小数在计算机中以浮点数二进制形式存储(64位)为:
01000000 11100010 11000001 11001100 11001100 11001100 11001100 11001100
请写出这个十进制小数(结果保留6位小数):
答案:
38414.400000
解析:为上一题的逆运算,不再详细说明。