在rtmp中,afm=0x00,表示的是数字,这个数字是用大端表示的,就是最重要的数放在了最低位上。wireshark截图如下
00 表示数字
4008000000000000 double类型的值,8个字节
05 表示空符号null
怎么翻译这个数为int类型呢?
double的内存模型为
最高位是0,表示正数。
然后是11位的指数
最后是52位的尾数。
计算方法为:
把上面的数转换为二进制位
0100 0000 0000 1000 0000000000.。。。
带入公式为 (1+1*2^-1)*2^(1024-1023)=2
基本就是这样的了