【发布时间】:2021-04-02 16:05:44
【问题描述】:
我有以下 4 个字节的十六进制字符串 (38 01 02 00),预期的输出是 (201.38) 十进制,就像第一个输入相反。 如果给出 (89 00 00 00),那么预期结果将是 (0.89)
我不知道这次对话的数学名称。
- 我尝试将 Big-endian 转换为 little-endian,但结果以 (00020138) 失败。
- 我试过写一个简单的方法,但结果还是错误(1492992770)
int htonl(final int value) {
return ByteBuffer
.allocate(4)
.putInt(value).order(ByteOrder.nativeOrder())
.getInt(0);
}
【问题讨论】:
-
201.38 到底是什么意思?带有两个小数位的十进制数?或者像IP地址中的一些虚线数字组?还是别的什么? Btút 我的两个猜测都与您方法的结果类型是整数相矛盾。
-
@RalfKleberhoff 十进制表示法,带两位小数呵呵