zoukankan      html  css  js  c++  java
  • 深入理解计算机系统第二版习题解答CSAPP 2.6

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

    转换为二进制为

    1 /*
    2        0   0   0   0   3   0   3   9
    3     00000000000000000011000000111001
    4                        *************
    5                  4   6   4   0   E   4   0   0
    6               01000110010000001110010000000000
    7 
    8 */

    移动后有13位匹配。

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

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

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

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

    1 /*
    2        0   0   3   5   9   1   4   1
    3     00000000001101011001000101000001
    4                *********************
    5          4   A   5   6   4   5   0   4
    6       01001010010101100100010100000100
    7 
    8 */

     A. 

    1 /*
    2 0x00359141
    3 0000 0000 0011 0101 1001 0001 0100 0001
    4 
    5 0x4A564504
    6 0100 1010 0101 0110 0100 0101 0000 0100
    7 */

    B.21位匹配

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

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

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

  • 相关阅读:
    10.18
    10.16~10.17笔记
    JS
    10.8~10.11
    9.28~9.29
    9.27 代码笔记
    代码复习(9.26)
    9.19 链家
    9.18笔记
    9.17 定位
  • 原文地址:https://www.cnblogs.com/furzoom/p/CSAPP2_6.html
Copyright © 2011-2022 走看看