byte类型127+1是 (-128)

public static void main(String[] args) {byte a = 127;byte b = (byte)(a+1);System.out.println(b);
}

计算机对数据的二进制存储形式——补码

原码、反码、补码的转换方法

在最高位代表符号位区分正数还是负数,0代表正数,1代表负数
原码:
45:00101101
-45:10101101

反码:
45:00101101
-45:11010010

正数的原码和反码相同,负数的反码等于原码的符号位不变,其余各位按位取反

补码:
45:00101101
-45:11010011

正数的原码反码和补码都形同,负数的补码等于在其反码基础上末尾+1

在计算机只有加法没有减法,在做减法运算时可以看做加上一个负数。

(1)若计算机以原码计算,与实际结果不符:

1-1=1+(-1)=[00000001]原+[10000001]原=[10000010]原= -2

(2)若计算机以反码计算,会产生0的符号问题,出现±0:

1-1=1+(-1)=[00000001]反+[11111110]反=[11111111]反=[10000000]原= -0

(3)采用补码计算可以解决0的符号以及两个编码的问题

1-1=1+(-1)=[00000001]补+[11111111]补=[00000000]补=[00000000]原= 0

计算byte类型127+1

使用补码, 还能够多表示一个最低数. 这就是为什么8位二进制, 使用原码或反码表示的范围为[-127, +127], 而使用补码表示的范围为[-128, 127]。
因为机器使用补码, 所以对于编程中常用到的32位int类型, 可以表示范围是: [-2^31, 2^31-1] 因为第一位表示的是符号位.而使用补码表示时又可以多保存一个最小值。

[127]补 = 01 111 111
[1]补=00 000 001
[-128]补 = 10 000 000

所以计算byte类型127+1 的结果为 -128

计算byte类型127+1相关推荐

  1. Java的byte类型取值范围为什么是负128到正127呢

    Java的byte类型取值范围是-128~127为什么负数是128正数到127呢 概念:java中用补码表示二进制数,补码的最高位是符号位,最高位为"0"表示正数,最高位为&quo ...

  2. byte java byte_详解java中的byte类型

    Java中整数类型有:byte占8位, short 占16位, int占32位, long占64位 Java也提供了一个byte数据类型,并且是基本类型中的整数类型.java byte是作为最小的数字 ...

  3. byte 类型比较_Java Grammar:数据类型

    Java中的基础数据类型 Java的数据类型 我们知道,Java是一种强类型语言,类型对于Java语言来说非常的重要不言而喻,在Java中,分为基础数据类型和引用数据类型,其中基础数据类型分为了四类八 ...

  4. byte java 详解_详解java中的byte类型

    Java也提供了一个byte数据类型,并且是基本类型.java byte是做为最小的数字来处理的,因此它的值域被定义为-128~127,也就是signed byte.下面这篇文章主要给大家介绍了关于j ...

  5. 二进制加减溢出问题详解,byte类型加减溢出详解。

    byte类型的数在JAVA中占1个字节,也就是8位,那么8位中除去一个符号位,表示数值的共有七位. 例如:1000 0000 中1就是符号位,表示负数. 0111 1111 中0也是符号位,表示正数. ...

  6. Java中byte类型的取值范围

    取值范围为-128~127 1.为什么是[-128,127]   计算机中存储最大的应该是0111 1111,第一位是符号位,所以表示最大的数值:127   存储的1 1111111应该是最小的数值: ...

  7. Java的byte类型详解

    前言 byte这个单词是Java八种基本数据类型之一字节的关键字,在计算机存储中以字节为单位,8位比特(bit)组成一个字节. 为什么弄清楚byte这么重要呢?因为智能硬件的数据传输大部分协议都是按字 ...

  8. Java中的byte类型是有符号的吗_JAVA中byte类型的介绍。 谢谢

    展开全部 Java也提供62616964757a686964616fe59b9ee7ad9431333431366265了一个byte数据类型,并且是基本类型.java byte是做为最小的数字来处理 ...

  9. int类型和byte类型的强制类型转换

    今天在读<Java网络编程>这本书的第二章 流 时,看到书中有一个地方关于int强制转换为byte类型时应注意的地方.这个地方有点细节,不过就应该把这种细节把握住. 情况是这样的,讲到In ...

最新文章

  1. 开始使用VS2005+ASP.NET+Access(以后可能是MS SQL Server)编写管理系统的计划
  2. JavaScript知识点总结(二)
  3. html模块化标签,jq load()方法实现html 模块化。
  4. ant design中的栅格化系统
  5. hdu 4597 + uva 10891(一类区间dp)
  6. iptables NAT
  7. 计算机通过注册表修改摄像机设备的名称
  8. 想让“贾维斯”成为现实?物联网帮你拥有
  9. python能用于机械设计吗_为什么人工智能首选Python?因为有很多适用于ML和DL的Python库!...
  10. 词向量与垃圾邮件识别
  11. 【ESP 保姆级教程】疯狂点灯篇 —— 案例:ESP8266 + LED + 按键 + 阿里云生活物联网平台 + 公有版App + 天猫精灵(项目:我之家)
  12. 数据库——求候选键的方法
  13. QNX支持的BSP包QNX os supported board(ARM+MIPS+POWERPC+X86)
  14. C++核心准则C.164:避免隐式转换运算符
  15. 公司法人代表变更需要多少钱?
  16. 服务器无法取消指令方块显示,我的世界服务器如何关掉命令方块的提示(如图)?...
  17. chinacache解决方案——静态内容加速
  18. 腾讯副总裁邱岳鹏:云的发展要迈过三道关
  19. OCI runtime create failed: runc create failed: unable to start container process: --docker加载镜像
  20. setTimeout()的用法

热门文章

  1. python 线程 (概念+示例代码)
  2. 学习MonoRail MVC
  3. 我们正处于并将长期处于从“艺工交叉”到“自我创造”的过渡阶段
  4. 如何做好数据分析报告(一)
  5. JavaWeb---web
  6. 机器学习中的数学基础--随机变量与概率分布,伯努利分布和泊松分布,贝叶斯定理
  7. 逆序的三位数(取余,加减乘除)[C语言/C++]
  8. 电脑硬盘中文件丢失怎样才能找回?硬盘数据丢失能恢复吗
  9. MATLAB仪表表盘数字识别解析
  10. 常见波形的傅里叶级数展开式