为什么byte取值负128到127.md

简介: 为什么byte取值负128到127.md

java设计byte类型为1个字节,1个字节占8位,即8bit,这是常识。


另外,计算机系统中是用补码来存储的,首位为0表示正数,首位为1表示负数,所以有以下结论:


最大的补码用二进制表示为:01111111= 127


最小的补码用二进制表示为:10000000= -128


关于补码、原码、反码的计算原理可以百度。


Byte的源码:


/**


* A constant holding the minimum value a {@code byte} can


* have, -27.


*/


public static final byte   MIN_VALUE = -128;


/**


* A constant holding the maximum value a {@code byte} can


* have, 27-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, -231.


*/


public static final int   MIN_VALUE = 0x80000000;


/**


* A constant holding the maximum value an {@code int} can


* have, 231-1.


*/


public static final int   MAX_VALUE = 0x7fffffff;


31是最高位,总共32bit,可以看出int占4个字节,即32/8=4。


其他Short、Long的设计原理也一样。


推荐去我的博客阅读更多:


1.Java JVM、集合、多线程、新特性系列教程


2.Spring MVC、Spring Boot、Spring Cloud 系列教程


3.Maven、Git、Eclipse、Intellij IDEA 系列工具教程


4.Java、后端、架构、阿里巴巴等大厂最新面试题


生活很美好,明天见~


相关文章
|
11月前
|
机器人 API 语音技术
企业微信接收语音消息并自动回复
本文介绍如何在企业微信中通过应用机器人实现语音消息的自动回复。具体步骤包括:创建企业微信应用,获取AgentID和Secret;使用AppFlow模版创建连接流并配置鉴权凭证;选择语音识别模型和大模型应用(如通义系列)进行自动回复;配置企业微信应用接收消息API及可信IP;最后测试应用功能。通过这些步骤,用户可以高效地利用大模型技术提升企业微信的使用体验。
1485 3
|
算法 Java Linux
python中的面试常考知识点
python中的面试常考知识点
|
传感器 监控 UED
基于STM32的智能停车场管理系统设计与实现
基于STM32的智能停车场管理系统设计与实现
987 1
|
前端开发 搜索推荐 JavaScript
web前端开发基础教程一1
web前端开发基础教程一
176 0
|
编译器
课外闲谈5.结构体类型定义不会分配内存
课外闲谈5.结构体类型定义不会分配内存
236 0
课外闲谈5.结构体类型定义不会分配内存
|
前端开发 JavaScript
如何提高前端开发效率
前端开发是一项极具挑战性的工作,需要面对复杂的技术栈和不断变化的需求。如何在保证代码质量的同时提高开发效率是每位前端开发人员都需要思考的问题。下面介绍一些提高前端开发效率的技巧:
556 0
|
Linux
linux的NetworkManager服务
在开启NetworkManager服务的情况下,在终端下敲“service network restart”命令: 正在关闭接口 eth0: 设备状态:3 (断开连接) [确定] 正在关闭接口 eth1: 错误:断...
2258 0