众所周知,计算机中存储的都是二进制的补码,而原码,反码,补码的关系如下:

网上大部分的资料都是如此讲述,而实际上,负数的补码还可以这么求(必须确定是负数):

将负数的绝对值的原码整体(包括符号位)取反,再整体加一

虽然看起来两个方差不多,但是用第二种方式却能很好避免一些问题,请看下面这两题

System.out.println((byte)130);//打印-126

不管用哪种方法来算,都能算到,反码10000010的原码是11111110从而得出答案是-126

而接下来这题

System.out.println((byte)128);//打印-128

如果用第一种方法:

而如果用第二种方法:

其实也就在(byte)128的求值问题上,会出现这样的问题,追根溯源还是+0代表真的0,而-0代表的是-128.

基本数据类型的字节与范围如下

至于为什么8位是-128~127,是由于最高一位存储符号位,所以剩下7位代表数值大小,能从0表示到127

所以能从-127表示到127,但由于+0和-0都代表0,重复了,所以,多出一个位子,放到负数,让-0代表-128。

所以byte的范围是-128~127。

byte(128)为什么是-128?相关推荐

  1. c语言字符输出128,如何将128位整数转换为C中的十进制ASCII字符串?

    部门不是必需的: #include #include typedef unsigned long uint32; /* N[0] - contains least significant bits, ...

  2. 手机运行内存6+128跟8+128有什么区别?

    很高兴回答你的问题,手机运行内存6+128G和8+128G有区别是肯定的,中间相差2GB.哪iPhone手机2GB,3GB手机为什么比安卓手机8G运行内存.12G运行内存还要流畅,安卓新手机上手也非常 ...

  3. 为什么Byte是从-128到127?

    关注+星标公众号,不错过精彩内容 编排 | strongerHuang 微信公众号 | 嵌入式专栏 计算机是一个很神奇的东西,仅靠 0 和 1 就能运算.存储等操作.那么,为什么Byte是从是从-12 ...

  4. byte的范围为何是-128~127,而不是-127~128?

     一.计算机该怎么做减法?     比如2-1=1,1-1=0.由于种种原因(精力有限,暂不深究),加法电路难度和成本已经很高了, 当时的条件下,再去设计一个减法电路,费力又费钱,前辈们想用加法电路来 ...

  5. byte的取值范围为啥是[-128~127](超详细教学,建议收藏)

    今天收到铁子问了一个问题,在java中的byte的取值范围为啥是[-128,127],而不是[-127,127];于是针对这个问题继续水一篇博客: 一.解释为啥会提出[-127,127]的问题 在字节 ...

  6. 【秒懂】byte的取值范围为什么是-128~127?

    直接给总结:计算机规定了0000 0000 代表0,1000 0000代表的-0没有意义,必须找个~127~127之外的数和它对应,「人为规定-0就是-128」,而且这么做完美适合计算机做减法运算. ...

  7. 探究Java中byte数据类型范围为何是(-128到127)

    文章目录 Java中byte数据类型范围为何是(-128到127) 知识要点 关键词解析 8位 符号位 Java中byte数据类型范围为何是(-128到127) 知识要点 byte在java中转为二进 ...

  8. 整数、浮点数在计算机中的存储,-128二进制怎么表示,

    目录 1 计算机底层存储数据的基本原理 2 整数的存储 2.1 整数的基本概念 2.2 整数的编码方式 -128的二进制表示 3浮点数存储 3.1 二进制十进制间小数怎么转换 1 计算机底层存储数据的 ...

  9. 128陷阱解析(Java中的128陷阱)

    原始类型:boolean,char,byte,short,int,long,float,double; 包装类型:Boolean,Character,Byte,Short,Integer,Long,F ...

最新文章

  1. Python读CSV数据
  2. 数据蒋堂 | 内置的数据无法实现高性能
  3. 硬件巨头正在崛起,中国独占鳌头
  4. Jrebel6.3.3破解,配置图文教程
  5. java jdk的作用_jdk的作用是什么?jdk和jre区别介绍
  6. python判断字符串结尾-字符串#69301_27种Python字符串操作方法大全
  7. Oracle 数据库导入导出
  8. AAAI 2020 | 微软亚洲研究院6篇精选论文在家看
  9. python数据类型-列表
  10. 新手 Spring 疑惑
  11. cms文章 mysql存储,帝国CMS万能标签调用随机文章的方法
  12. c++ 获取当前时间_ThinkPHP6中获取参数的3种常用方法【总结】
  13. matlab能流图,有会用MATLAB写海流图的程序吗
  14. 【iOS-cocos2d-X 游戏开发之八】使用Lua脚本进行游戏开发(基础篇)
  15. 边界布局BorderLayout源码解析
  16. openssl校验SSL证书public key是否配对
  17. Cadence SPB安装及重装
  18. python3.6 numpy下载_numpy下载安装 NumPy MKL v1.13.1 cp36 for Python3.6 官方安装版 64位 下载-脚本之家...
  19. u盘安装原版win10
  20. 商圈调查方案-调研目标

热门文章

  1. 如何做好FAE工作及FAE职位发展(转载)
  2. js serializeArray方法
  3. 读书记录|《2001 太空漫游》
  4. 集团建筑企业安全生产双重预防控制系统数字化解决方案
  5. Android之通过配置Flavor实现一个项目打包成多个apk(转载)
  6. 用Grafana5.1 给zabbix 3.4.9 披上白富美的外衣
  7. 【转载】何必言精通——十年杂感 兼谈其它
  8. python 排列组合算法_python算法-排列组合
  9. 腾讯云服务器自动断开连接的解决办法
  10. 面试官最常用小心思:说说你的项目并发量多大?负载均衡怎么做?