为什么byte取值-128~127??
转载自 为什么byte取值-128~127??
java设计byte类型为1个字节,1个字节占8位,即8bit,这是常识。
另外,计算机系统中是用补码来存储的,首位为0表示正数,首位为1表示负数,所以有以下结论:
最大的补码用二进制表示为:01111111 = 127
最小的补码用二进制表示为:10000000 = -128
关于补码、原码、反码的计算原理可以百度。
Byte的源码:
/**
* A constant holding the minimum value a {@code byte} can
* have, -2<sup>7</sup>.
*/
public static final byte MIN_VALUE = -128;
/**
* A constant holding the maximum value a {@code byte} can
* have, 2<sup>7</sup>-1.
*/
public static final byte MAX_VALUE = 127;
7是最高位,总共8bit,可以看出byte占1个字节,即8/8=1。
Integer源码:
/**
* A constant holding the minimum value an {@code int} can
* have, -2<sup>31</sup>.
*/
public static final int MIN_VALUE = 0x80000000;
/**
* A constant holding the maximum value an {@code int} can
* have, 2<sup>31</sup>-1.
*/
public static final int MAX_VALUE = 0x7fffffff;
31是最高位,总共32bit,可以看出int占4个字节,即32/8=4。
其他Short、Long的设计原理也一样。
为什么byte取值-128~127??相关推荐
- Java Byte取值范围
Java Byte 的取值范围大家都知道(-128 ~ 127),那么-128 和 127 这两个数是怎么计算的呢? #大学知识回顾: 概念:负数的补码是该 数 绝 对 值 的 原 码 按 位 取 反 ...
- java中 byte 取值范围_java中为什么byte的取值范围是-128到+127
概念:java中用补码表示二进制数,补码的最高位是符号位,最高位为"0"表示正数,最高位为"1"表示负数. 正数补码为其本身: 负数补码为其绝对值各位取反加1: ...
- java中 byte 取值范围_【二进制基础-java中byte的取值范围-推导过程】
java中用补码表示二进制数,补码的最高位是符号位,最高位为"0"表示正数,最高位为"1"表示负数. 正数补码为其本身: 负数补码为其绝对值各位取反加1: 例如 ...
- java sbyte_JAVA与c#中byte取值范围的差异
C#中分有符号类型的sbyte和无符号类型的byte Console.WriteLine("byte.min:{0},byte.max:{1},{2}byte", byte.Min ...
- JAVA byte取值范围表达理解
我们知道JAVA中byte是一个字节来进行存储的,即8位二进制数,可以表示的数字有256个 但计算机中需要表示正数和负数,那么负数在计算机中怎么表示呢? 这里涉及一个新的概念就是 模: 模 即n个m进 ...
- Java的byte类型取值范围为什么是负128到正127呢
Java的byte类型取值范围是-128~127为什么负数是128正数到127呢 概念:java中用补码表示二进制数,补码的最高位是符号位,最高位为"0"表示正数,最高位为&quo ...
- 类型的取值范围_Java基础类型取值范围,从基础的理解加深记忆
Java有8种基础类型,但是你可能常常会忘记他们的取值范围.而这主要是由于你再依靠默记这些类型的取值范围,而不是从根本上理解. 举例 byte占1个字节,8给比特位,它的取值范围是:-128 ~ 12 ...
- Java基础:8种基本数据类型,取值范围和储存字节说明。
Java中,一共有8种基本数据类型: 4种整数型:int,short,long,byte. 2种浮点型:float,double. 1种字符类型:char. 1种表示真值的类型:boolean. [S ...
- float和double取值范围
最近在复习的时候发现基础太薄弱,对于float和double虽然了解所占字节数,但不知道他们的取值范围是多少,这对参加大厂笔试题时是十分不利的 1.八种数据类型的分类如下: 第一类:整型 byte s ...
最新文章
- 1.6-puppet测试证书
- 作为软件工程师,你必须知道的20个常识
- java 粒子系统_Java粒子系统(烟火篇)
- Python常用第三方库大盘点
- 郁金香商业辅助教程 2016 笔记 11~15
- sencha touch 入门学习资料大全
- 【移动开发】startForeground()让服务保持前台级别
- python---python基本算法的时间复杂度和空间复杂度
- 2021-06-27JSON介绍
- 关于中缀表达式的计算 和算符优先算法
- 计算机操作系统安装实验报告,操作系统实验报告1.doc
- linux shell脚本开发工具,技术|10个工具让你的 shell 脚本更强大
- linux生成一个ssh密钥,ssh密钥生成方式
- jQuery实现记住帐号密码功能
- 《通信原理与应用》小结
- NOIP2016普及组T3(海港)题解
- 前端css文本、单词、字母强制换行
- 华为 linux文件系统,华为EROFS文件系统是什么
- socket编程(在线自动聊天工具) --Python3
- 【JAVA编程】根据年龄, 来打印出当前年龄的人是哪个阶段
热门文章
- 从当前元素继续寻找_云漫圈 | 寻找无序数组的第k大元素
- [剑指offer]面试题7:用两个栈实现队列
- [蓝桥杯][算法提高VIP]五次方数-枚举
- 2017年第八届蓝桥杯国赛B组试题A-36进制-进制转换
- [蓝桥杯2017初赛]跳蚱蜢-map标记+bfs+环形数组
- equals, hashCode, toString方法重写,深入探究equals
- 监督学习和非监督学习
- kettle 空字符串 null问题解决
- P4055 [JSOI2009]游戏(二分图匹配+博弈)
- Educational Codeforces Round 17 E. Radio stations cdq分治 + 树状数组