【发布时间】:2022-01-01 04:52:23
【问题描述】:
我有一个缓冲区,里面装满了数据并以< Buffer 52 49 ...>开头
假设此缓冲区定义为buf,如果我运行buf.readInt16LE(0),则返回以下内容:
18770
现在,十六进制值 52 和 49 的二进制表示是:
01010010 01001001
如果我将前 15 位转换为十进制,省略第 16 位作为二进制补码,我会得到以下结果:
21065
为什么我的结果没有给出 18770 的值?
【问题讨论】: