为了账号安全,请及时绑定邮箱和手机立即绑定

我写了下述编码,显示为1行"可能损失精度",这是什么情况呢?

我写了下述编码,显示为1行"可能损失精度",这是什么情况呢?

呼如林 2022-05-01 16:06:42
1 byte add[] = {131, 170, 40, 30}; //IP地址字节数组2 //由IP地址创建InetAddress类对象3 InetAddress someIA = InetAddress.getByAddress(add);4 //获取并输出someIA对象的计算机名称5 System.out.println("IP地址为64.124.117.19的计算机名称:" + someIA.getHostName());在用NetBean编写Java的main method中,如果将byte改为int,则违反了static InetAddress getByAddress(byte[] addr)这一原则
查看完整描述

2 回答

?
慕桂英546537

TA贡献1848条经验 获得超10个赞

java里头直接写个数字,它默认是int型的,所以你把一个int类型的数据放到一个byte类型的存储空间里头肯定有可能丢失精度了。
byte add[] = {(byte)131,(byte)170,(byte)40,(byte)30}

查看完整回答
反对 回复 2022-05-04
?
紫衣仙女

TA贡献1839条经验 获得超15个赞

byte add[] = {131, 170, 40, 30};131和170超过了byte的储存字节,用int add[]

查看完整回答
反对 回复 2022-05-04
  • 2 回答
  • 0 关注
  • 130 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信