node:将缓冲区转换为十进制值

时间:2013-12-11 16:36:53

标签: node.js math

我有一个填充数据的缓冲区,以<缓冲区52 49 ...>

假设此缓冲区定义为buf,如果我运行buf.readInt16LE(0),则返回以下内容:

18770

现在,十六进制值52和49的二进制表示为:

01010010 01001001

如果我将前15位转换为十进制,省略第二位的二进制补码,我会得到以下结果:

21065

为什么我的结果没有给我18770的值?

1 个答案:

答案 0 :(得分:6)

18770是“01001001 01010010”,这是你的2字节反转,这是readInt * LE功能将要做的事情。

使用readInt16BE。