java中byte是-127~127 但是 ip中 192.168.1.1怎么办

[复制链接]
查看11 | 回复3 | 2016-5-31 19:45:13 | 显示全部楼层 |阅读模式
1、首先没必要再写手工转换,对192.168.1.1直接Inet4Address a=(Inet4Address) Inet4Address.getByName("192.168.1.1");2、其次,转换字节用byte即可。byte不仅代表-128-127的数值,也代表8bit的0-255的数据。import java.net.Inet4Address;import java.net.UnknownHostException;import java.util.Arrays;public class Test {static public void main(String 参数[]){String liter...
回复

使用道具 举报

千问 | 2016-5-31 19:45:13 | 显示全部楼层
byte类型有8个bit,作为带符号数,最高位是符号位,剩余7位的最大值是127,所以范围是-127~127。这里它让你传入的是无符号值,不考虑符号位,这样8位可以标示的范围是0~256。
赋值的时候直接强制转换即可:byte b = (byte) 192;...
回复

使用道具 举报

千问 | 2016-5-31 19:45:13 | 显示全部楼层
范围是-128~127吧...得到转化为int就好了(b+256)%256...
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行