0

我有一个十进制数,我会将它转换为字节数组缓冲区(小端符号)。

我试试这个,但我不确定它是否有效:

ByteBuffer a = ByteBuffer.allocate(4);
      a.putInt( (int) number);
      return a.array();

如果数字是 125 我已经返回:

[0,0,0,128];

这是对的吗?我认为正确的转换是:

[0,0,0,10000000]

我该如何使用 Java?

提前致谢

4

1 回答 1

0

1) 来自 ByteBuffer API

The initial order of a byte buffer is always BIG_ENDIAN. 

所以,你必须首先将字节缓冲区顺序更改为小端

2)Java中十进制数只有一种表示,即BigDecimal,不能强制转换为int。因此,这行不通

 a.putInt( (int) number);
于 2013-05-12T12:43:09.317 回答