使用打印字節的方式可以知道十進制數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的位置不匹配。
後續了解浮點數存儲會更加明了。