首页 > 代码库 > 深入理解计算机系统第二版习题解答CSAPP 2.6

深入理解计算机系统第二版习题解答CSAPP 2.6

使用打印字节的方式可以知道十进制数12345的十六进制为0x00003039,十进制浮点数12345.0的十六进制为0x4640E400。

转换为二进制为

1 /*2        0   0   0   0   3   0   3   93     000000000000000000110000001110014                        *************5                  4   6   4   0   E   4   0   06               010001100100000011100100000000007 8 */

移动后有13位匹配。

已知十进制数3510593的十六进制为0x00359141,十进制浮点数3510593.0的十六进制为0x4A564504。

A.写出上面两个数对应的二进制表示。

B.移动两个二进制串的相对位置,使得它们匹配的位数最多。有多少位匹配?

C.串中的什么位置不匹配。

 

1 /*2        0   0   3   5   9   1   4   13     000000000011010110010001010000014                *********************5          4   A   5   6   4   5   0   46       010010100101011001000101000001007 8 */

 A. 

1 /*2 0x003591413 0000 0000 0011 0101 1001 0001 0100 00014 5 0x4A5645046 0100 1010 0101 0110 0100 0101 0000 01007 */

B.21位匹配

C.直观来说:对浮点数来说前9位及最后2位不匹配。

对整型数来说从高位到第1位不为0的位置不匹配。

 

后续了解浮点数存储会更加明了。

 

深入理解计算机系统第二版习题解答CSAPP 2.6