03.

float类型:

31                 30          23          22                                                      0

S                          EEEEEEEE               DDDDDDDDDDDDDDDDDDDDDDD

符号位       指数占8位      小数部分,整数部分总为1,不保存

01负      减去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结尾

猜你喜欢

转载自www.cnblogs.com/Nutshelln/p/12617591.html
03.