广州北大青鸟计算机职业培训学校
互联网技术培训、软件技术培训、大数据培训、云计算培训、数据分析培训信息网
当前位置:网站首页 > 软件教程 > Java技术 > 正文

惠州​Java无符号数据类型是什么?_北大青鸟IT学校

作者:邓华发布时间:2021-04-07分类:Java技术浏览:827


导读:你知道​Java无符号数据类型是什么吗?下面惠州北大青鸟学术部老师给大家讲讲​Java无符号数据类型是什么。

你知道Java无符号数据类型是什么吗?下面惠州北大青鸟学术部老师给大家讲讲Java无符号数据类型是什么。

Java不支持无符号数据类型。

byte,short,int和long都是有符号数据类型。

对于有符号数据类型,值范围的一半存储正数,一半用于负数,因为一个位用于存储值的符号。

例如,一个字节需要8位;其范围是-128到127.如果您只在一个字节中存储正数,则其范围将为0到255。

Java在包装器类中有一些静态方法,以支持处理带符号值中的位的操作,就像它们是无符号整数一样。

字节类包含两个静态方法:

int  toUnsignedInt(byte x)
long  toUnsignedLong(byte x)

这些方法将指定的字节参数转换为int和long,就像该字节存储无符号值一样。

如果指定的字节为零或正,则转换的int和long值将相同。

如果参数是负数,则转换的数字将是28 + x。

例如,对于-10的输入,返回的值将是28 +(-10),这是246。

负数以2的补码形式存储。值-10将被存储为11110110.最高有效位1表示它是一个负数。

前7位(1110110)的2的补码将是001010,十进制为10。

如果将实际位11110110视为无符号整数,其值为246(128 + 64 + 32 + 16 + 0 + 4 + 2 + 0)。

例子

以下代码显示了如何将存储在字节中的值作为无符号整数:

public class Main {  public static void main(String[] args) {    byte b = -10;    int x = Byte.toUnsignedInt(b);
   System.out.println("Signed value in byte   = " + b);
   System.out.println("Unsigned value in  byte   = " + x);

 }
}

上面的代码生成以下结果。

Signed value in byte =-10

Unsigned value in byte =246

想了解更多关于Java的资讯,可以来惠州北大青鸟新方舟校区了解一下。

java5.png

Java

标签:惠州计算机JAVA软件开发惠州计算机Java软件开发惠州计算机JAVA培训惠州计算机JAVA软件开发学校惠州计算机Java软件开发培训JAVAJava软件开发北大青鸟IT计算机学校北大青鸟IT软件学校北大青鸟IT学校


Java技术排行
标签列表
网站分类
文章归档
最近发表