我是靠谱客的博主 干净花卷,最近开发中收集的这篇文章主要介绍java的byte转int,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

前言

在Java中,byte的表示是以补码形式存在的,取值范围为-128~127,它没有unsigned类型

byte大小为8bit,int大小为32bit

当byte要转化成int时,会自动填充符号位至32bit

转化的问题

JVM默认的byte转int是填充符号位,即保证数值不变,例如

public static void main(String args[]) {
byte b = -12;
int i = b;
System.out.println(i);	//输出结果为-12
}

但有时候我们要的是byte里边的信息不变,即前边填充0,例如

public static void main(String args[]) {
byte b = -12;
int i = b & 0xff;
System.out.println(i);
//输出244,即由符号位变为无符号位
}

补充

Byte.toUnsignedInt(byte b)起到和 & 0xff 同样的效果

转载于:https://my.oschina.net/winstoncopy/blog/860190

最后

以上就是干净花卷为你收集整理的java的byte转int的全部内容,希望文章能够帮你解决java的byte转int所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(47)

评论列表共有 0 条评论

立即
投稿
返回
顶部