我有一个十进制数,我会将它转换为byte(小端符号)的数组缓冲区。
我试试这个,但我不确定它是否有效:
ByteBuffer a = ByteBuffer.allocate(4);
a.putInt( (int) number);
return a.array();
如果数字是125,我已退回:
[0,0,0,128];
这是对的吗?我认为正确的转换是:
[0,0,0,10000000]
如何使用Java?
提前致谢
答案 0 :(得分:0)
1)来自ByteBuffer API
The initial order of a byte buffer is always BIG_ENDIAN.
因此,您必须首先将字节缓冲区顺序更改为小端
2)Java中只有一个十进制数表示,它是BigDecimal,不能将它强制转换为int。因此,这不起作用
a.putInt( (int) number);