gpt4 book ai didi

java - Java 声明字节可能会丢失精度

转载 作者:行者123 更新时间:2023-11-30 09:12:21 25 4
gpt4 key购买 nike

我目前正在尝试用 Java 编写 MODbus 的串行实现。我遇到的主要问题是,当我将一个字节(或简称)声明为 0xC4(对于一个字节)之类的东西时,我得到一个“精度丢失错误”。

这有什么办法吗?或者我是否被迫将所有数字类型视为比实际长度短 1 位(比如 7 位、15 位、31 位、63 位)?

例子:

 byte[] test = 
{
0x11,
0x02,
0x00,
0xC4,
0x00,
0x16
};

这会在 0xC4 上引发警告“可能丢失精度”需要字节,找到 int。

最佳答案

当您说 0xC4 时,这是一个大于 maximum value for a byte, 127 的整数文字,因此您必须将其显式转换为 byte

尝试

byte[] test = 
{
0x11,
0x02,
0x00,
(byte) 0xC4,
0x00,
0x16
};

关于java - Java 声明字节可能会丢失精度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21608595/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com