使用打印字节的方式可以知道十进制数12345的十六进制为0x00003039,十进制浮点数12345.0的十六进制为0x4640E400。
转换为二进制为
/*
0 0 0 0 3 0 3 9
0000000000000000001
*************
4 6 4 0 E 4 0 0
0100011000000000000 */
移动后有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 010010100101011001000101000001
7
8 */
A.
/*
0x00359141
0000 0000 0011 0101 1001 0001 0100 0001 0x4A564504
0100 1010 0101 0110 0100 0101 0000 0100
*/
B.21位匹配
C.直观来说:对浮点数来说前9位及最后2位不匹配。
对整型数来说从高位到第1位不为0的位置不匹配。
后续了解浮点数存储会更加明了。