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);

}

}

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

例2

Integer类包含以下静态方法以支持无符号运算和转换:int compareUnsigned(int x, int y)

int divideUnsigned(int dividend, int divisor)

int parseUnsignedInt(String s)

int parseUnsignedInt(String s, int radix)

int remainderUnsigned(int dividend, int divisor)

long toUnsignedLong(int x)

String toUnsignedString(int i)

String toUnsignedString(int i, int radix)

以下代码显示了对两个int变量的除法运算,如同它们的位表示无符号值一样:public class Main {

public static void main(String[] args) {

// Two negative integer values int x = -1;

int y = -2;

// Performs signed division System.out.println("Signed x = " + x);

System.out.println("Signed y = " + y);

System.out.println("Signed x/y = " + (x / y));

// Performs unsigned division by treating x and y holding unsigned values long ux = Integer.toUnsignedLong(x);

long uy = Integer.toUnsignedLong(y);

int uQuotient = Integer.divideUnsigned(x, y);

System.out.println("Unsigned x = " + ux);

System.out.println("Unsigned y = " + uy);

System.out.println("Unsigned x/y = " + uQuotient);

}

}

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

java int 无符号_Java 无符号数据类型相关推荐

  1. java 无符号转有符号_java有符号无符号的转换

    数据处理中常常遇到基本数据类型的操作,java都是有符号的数据,而与下位机通信中常常遇到无符号的比如uint8, uint16,uint32等等 1.为了完成这个功能还专门采用ByteBuffer的方 ...

  2. java int byte数组_Java 中int与byte数组转换详解

    1.与运算符的理解(&): 参加运算的两个数据,按二进位进行"与"运算.如果两个相应的二进位都为1,则该位的结果值为1,否则为0.即 0&0=0:0&1=0 ...

  3. java int 64 转换_Java中数据类型及其之间的转换

    Java中数据类型及其之间的转换 Java中数据类型及其之间的转换 基本的数据类型 基本类型有以下四种: 1)int长度数据类型有:byte(8bits).short(16bits).int(32bi ...

  4. java的无参构造函数_Java 无参数构造函数的应用

    创建类时指定了有参数构造函数后,系统默认不会创建无参数构造函数,需要自己手动创建. 创建子类的对象实例时,默认会先调用父类的无参数的构造函数(默认构造函数). 若父类未定义无参数构造函数,则在编译阶段 ...

  5. java int位运算_java中int的表示方法,位运算的解析

    随着时代的不断发展,越来越多的人开始投入到java的学习当中来.今天就来为大家介绍java中int的表示方法以及位运算的内容有哪些一起来看看吧. 首先我们需要知道的是,在java中,int是使用32位 ...

  6. java短整型_JAVA个基本数据类型

    Java有8大基本数据类型,分别是: 1).字节类型:byte Byte数据类型是8位 取值范围:(-128 - 127) 默认值:0 byte a= 100; byte b = -20; 2).短整 ...

  7. java短整型_Java的基本数据类型

    变量就是用来储存值而保留的内存位置.这就意味着当创建一个变量时就会在内存中占用一定的空间. 基于变量的数据类型,操作系统会进行内存分配并且决定什么将被储存在保留内存中.因此,通过给变量分配不同的数据类 ...

  8. java int integer内存_java中一个integer对象的内存占用是多少?可以通过java方法输出吗?...

    今天翻记录看到了自己15年3月份提的问题,现在已经18年6月份了: 去年线上项目出现内存瓶颈,原因是缓存的玩家角色数据过多,在长时间不停服的情况下,导致数据越来越膨胀,之前没有清除无用缓存的机制,并且 ...

  9. java int转日期_Java时间日期格式转换

    Java时间格式转换大全 import java.text.*; import java.util.Calendar; public class VeDate { /** * 获取现在时间 * * @ ...

最新文章

  1. 使用moy快速开发后台管理系统(二)
  2. 2017美国人工智能和机器学习行业种子投资首次下降
  3. java获取json中的某个值_接口测试之json中的key获取
  4. 【C++】18.char[] 与 string 的区别 与 互相转化、c_str() 函数用法
  5. IDEA中查看SVN项目历史版本更新信息
  6. anaconda怎么使用python包_Anaconda中python包的介绍与使用方法
  7. CString 操作函数
  8. C++学习33 函数模板
  9. Python中的虚拟环境-virtualenv
  10. 基于WF4的新平台-流程模式-(6)动态串行
  11. 消息中间件学习总结(1)——RocketMQ之专访RocketMQ联合创始人:项目思路、技术细节和未来规划
  12. 四则运算表达式二叉树法求后缀表达式
  13. Java的重写equals但不重写hashCode方法的影响
  14. java io中file类_java中IO常见的IO流和file类理论总结
  15. 反思-我们真的初老了么?
  16. 程序员持续记录开始赚钱之旅 (第二十一篇)
  17. java mycat reload_MyCAT 1.6 使用reload @@config_all报错
  18. Event-B建模(三)——控制桥上汽车,初始模型
  19. Numpy.array()详解 、np.array与np.asarray辨析、 np.array和np.ndarry的区别
  20. Win10系统设置炫酷下拉关机(其实很简单啦!)

热门文章

  1. 大数据分析应如何规避误差
  2. 通信原理包络是什么意思_绳锯的工作原理
  3. RTL8197F获取WPS连接状态
  4. Android Shape制定圆形和圆环形状
  5. 诸神之战:IT四雄为争夺创新经济主导权而厮杀
  6. Metasploit -- 辅助模块(Auxiliary)
  7. node 下载以往的版本
  8. html 鼠标悬停显示 竖线,【惊呆了,还能这样玩】Excel 图表中的鼠标悬停交互技术...
  9. 2019计算机复试平均分,19考研全国平均分公布,20考研难度分析!
  10. Flocking算法论文发布小规划