03. IEEE浮点数
float类型:
31 30 23 22 0
S EEEEEEEE DDDDDDDDDDDDDDDDDDDDDDD
符号位 指数占8位 小数部分,整数部分总为1,不保存
0正 1负 减去127得到
真正的指数
例如float f = 123.625;
123.625转成二进制 -> 1111011.101 转科学计数法 -> 1.111011101 * p6
0 10000101 11101110100000000000000
符号位 指数,已加127 小数部分,整数部分总为1,不保存。
每4位分隔 0100 0010 1111 0111 0100 0000 0000 0000
4 2 F 7 4 0 0 0
符号位是最高有效位,按小尾方式,低地址在前,写为00 40 F7 42
去vs里看结果确实一致
再例如float f = -0.03125;
-0.03125转成二进制 -> -0.00001转科学计数法 -> -1.0p-5
1 01111010 00000000000000000000000
符号位 指数,已加127 小数部分,整数部分总为1,不保存。
每4位分隔1011 1101 000000000000000000000000
B D
符号位是最高有效位,按小尾方式,低地址在前,写为00 00 00 BD
去vs里看结果确实一致
bmp文件开头是’B’,’M’ ,可以写成类似下面的代码
short signature = 'MB';
按小尾方式,’B’保存在低字节,’M’保存在高字节
Pascal风格的字符串有1/2/4字节指示长度
C风格字符串以0结尾