Java发展至今,出现了很多Java虚拟机,从最初的Classic的Java虚拟机到Exact VM虚拟机,到现在最终被大规模部署和应用的是Hotspot虚拟机。
       整数在Java虚拟机中的表示

在Java虚拟机中,整数有byte、short、int、long四种,分别表示8位、16位、32位、64位有符号整数。

整数在计算机中使用补码表示,在Java虚拟机中也不例外。

原码:就是符号位加上数字的二进制表示。以int为例,第一位表示的符号位,其余31位表示该数字的二进制值。

对于原码来说,绝对值相同的正数和负数只有符号位不同。

反码就是在原码的基础上,符号位不变,其余取反。

负数的补码就是反码加1,整数的补码就是原码本身。

相对于原码,使用补码作为计算机内的实际存储方式至少有两个好处:

1.可以统一数字0的表示。由于0既非正数,又非负数,使用原码表示时符号位难以确定。但是使用补码表示时,无论吧0归入正数或者负数都会的到相同的结果。

2.使用补码可以简化整数的加减法计算,将减法计算视为加法计算,实现减法和加法的完全统一。

最新文章

  1. java--HashMap多线程并发问题分析
  2. 【洛谷P2737】Beef McNuggets
  3. jsp action中附件下载的写法
  4. 开始做POI啦...
  5. PHP的命名空间
  6. Ubuntu桌面版本和服务器版本之间的区别(转载)
  7. dmesg 信息实时监控其改变
  8. 【JavaScript设计模式系列---开篇预览】
  9. Qt中使用信号和槽的一点心得
  10. 从零开始学习jquery (二)
  11. js学习笔记——数组方法
  12. setSingleChoiceItems和setPositiveButton两者触发时期
  13. Python迭代
  14. Python基础:数据类型-列表与元组(6)
  15. Python环境安装及IDE介绍
  16. php 函数小技巧(一)
  17. elasticsearch概念及倒排索引简单介绍
  18. 64位ubuntu搭建android开发环境问题解决方案
  19. js实现避免浏览器拦截弹出新页面的方法
  20. 递归搜寻NSString中重复的文本

热门文章

  1. Android 布局学习之——Layout(布局)详解一
  2. 动态添加的html元素绑定事件的方法
  3. Lua基础语法讲解
  4. Git中的文件状态和使用问题解决
  5. ios开发之--tableview单选/多选实现(非tableview的editing状态)及默认选中
  6. 【Nodejs】npm cnpm 淘宝镜像
  7. 安装RVDS2.2
  8. [Windows] Windows 8.1 取消在任务栏显示应用商店的应用
  9. Java API方式调用Kafka各种协议
  10. npm yarn