栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

Java: byte转无符号整数(unsigned int)

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Java: byte转无符号整数(unsigned int)

项目中有个需求,需要把byte类型的数进行累加得到一个结果。

尝试直接累加,发现结果不对,应该是byte到int转换的问题。仔细研究一番,默认byte是带符号的,例如:

0xFF,一般认为是整数255,不过在Java中实际默认它是-1。因此要想办法把byte转换成无符号整数,方法如下:

方法一:
byte b = (byte)0xFF;
int i = Byte.toUnsignedInt(b);

System.out.println("整数:" + i);

输出:

说明:Byte.toUnsignedIn()这个方法在Android系统中需要Android 8.0以上才能支持,有一定局限性。

方法二:
byte b = (byte)0xFF;
int i = b & 0xff;
System.out.println("uint:" + i);

输出:

 这个方法比较通用。

问题解决。

参考:Java Byte toUnsignedInt() Method - Javatpoint

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/868364.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号