使用列印位元組的方式可以知道十進位制數12345的十六進製制為0x00003039,十進位制浮點數12345.0的十六進製制為0x4640e400。
轉換為二進位制為
1/*20 0 0 0 3 0 3 9
300000000000000000011000000111001
4*************
54 6 4 0 e 4 0 0
60100011001000000111001000000000078
*/
移動後有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/*20x00359141
30000 0000 0011 0101 1001 0001 0100 000145
0x4a564504
60100 1010 0101 0110 0100 0101 0000 0100
7*/
b.21位匹配
c.直觀來說:對浮點數來說前9位及最後2位不匹配。
對整型數來說從高位到第1位不為0的位置不匹配。
後續了解浮點數儲存會更加明了。
深入理解計算機系統第二版習題解答CSAPP 2 9
基於三元色r 紅 g 綠 b 藍 關閉 0 和開啟 1 能夠建立8種不同的顏色,如下 rg b顏色rg b顏色00 0黑色10 0紅色00 1藍色10 1紅紫色01 0綠色11 0黃色01 1藍綠色11 1白色這些顏色的每一種都能通過用乙個長度為3的位向量一表示,同時可以對它們進行布林運算。a.一種...
《深入理解計算機系統》第二章部分習題
人生第一篇博文。深入理解計算機系統 第二章部分習題 2.62 int shifts are arithmetic 對int型別數使用算術右移返回1,否則返回0 顯然,只需考慮負數即可 非負數算術右移與邏輯右移相同 這裡以 1為例,1算術右移一位,所產生的二進位製碼代表的數值不變 而邏輯右移則會使最高...
深入理解計算機系統
關鍵路徑是在迴圈的反覆執行中形成的資料相關鏈。迴圈展開是一種程式變換,通過增加每次迭代計算的元素的數量,減少迴圈的迭代次數。重新結合變換能夠減少計算中關鍵路徑上操作的數量,通過更好地利用功能單元的流水線能力得到更好的效能。浮點運算不保證是可結合的,通常迴圈展開和並行地累積在多個值中,是提高程式效能的...