计算机中的二进制

简介: 版权声明:本文为sydMobile原创文章,转载请务必注明出处! https://blog.csdn.net/sydMobile/article/details/76039477 在复习Java基本类型的时候突然遇到的问题 为什么byte型的数据表示的范围是 -128~127呢?我们都知道byte在Java中占一个字节,一个字节也就是八位,简单来说就是八个二进制(电脑只认识0,1 最终都是转化成二进制来识别的)在Java中最高位是用来表示正负数的,0代表正数,1代表负数。
版权声明:本文为sydMobile原创文章,转载请务必注明出处! https://blog.csdn.net/sydMobile/article/details/76039477

在复习Java基本类型的时候突然遇到的问题
为什么byte型的数据表示的范围是 -128~127呢?我们都知道byte在Java中占一个字节,一个字节也就是八位,简单来说就是八个二进制(电脑只认识0,1 最终都是转化成二进制来识别的)在Java中最高位是用来表示正负数的,0代表正数,1代表负数。byte型的占八位数,有一位是符号位也就是说用来表示实际数大小的也就是7位,那么为什么不是
11111111 ~ 01111111 也就是(-127 ~ 127)呢?
其实在Java中负数不是这么表示的,并不是-127就是127化成二进制然后在前面加一个1表示负数。Java中表示负数是这样的,比如-127,他的负数的二进制的表示方法是 -127的绝对值 127,取127的二进制 01111111,然后取反得到 10000000,然后再加一得到 10000001,这才是-127的二进制表示方法。那么-128怎么来的呢,其实-128就是 10000000,这就是8位数的最小负数的,可以看出在二进制负数中第一位始终是1,然后面的数越大表示这个数越大,后面的数越小表示这个数越小
比如 11111111 表示的是-1,这就是负数中最大的数了,10000000表示-128,这个数最小,-127就是10000001 ,拿出第一位符号位,后面的数比较大小就可以比较出这两个数的大小
那么-129呢,按照负数二进制的方法,应该是129的二进制,10000001,然后取反01111110,然后加一,01111111,可以看到得到的结果最高位是0,0应该表示正数,当遇到这种情况就说明位数不够用了,它是负数应该主动在前面加1,也就是101111111,这个时候就是9位数了,就超出byte的范围了。128也一样,128二进可以制是 10000000, 看到最高一位是1,应该表示负数,可是128是正数,这个时候就要在前面加0,010000000表示128。

目录
相关文章
|
程序员 知识图谱
电影《孤注一掷》感触、计算机底层二进制与十进制的转换
看完《孤注一掷》后,我内心激荡起一股深刻的情感。今天,我希望与大家分享这部电影的观后感,同时还想简要介绍一下电影中涉及的秘密线索666关于二进制和十进制转换的原理。另外,也推荐一本我认为写得较为出色的计算机书籍——《计算机底层的秘密》。这段经历充满启示,引导我们一同深入探索其中蕴含的智慧。
908 0
电影《孤注一掷》感触、计算机底层二进制与十进制的转换
|
8月前
|
存储 编解码 算法
计算机编码
计算机编码
137 0
|
2月前
|
存储
计算机进制转换
计算机进制转换
38 4
|
4月前
计算机使用的二进制
计算机使用的二进制
60 15
|
6月前
|
存储
计算机中二进制与数字逻辑
【7月更文挑战第26天】
117 2
|
8月前
|
存储 算法 量子技术
计算机为什么采用二进制
计算机为什么采用二进制
1123 0
|
8月前
|
存储
计算机中数据的存储及二,八,十六进制的介绍
本文将向大家介绍各种进制其中包括:二级制,八进制,十六进制;数据在内存中将如何存储。
254 0
【408计算机组成原理】—字符与字符串(四)
【408计算机组成原理】—字符与字符串(四)
|
存储 JavaScript 前端开发
计算机底层知识之二进制
用二进制数表示计算机信息的原因 推荐阅读指数 ⭐️⭐️⭐️⭐️ 什么是二进制 推荐阅读指数 ⭐️⭐️⭐️⭐️⭐️ 补数 推荐阅读指数 ⭐️⭐️⭐️⭐️⭐️ 逻辑运算 推荐阅读指数 ⭐️⭐️⭐️
213 0
|
存储 编译器 C语言
计算机的大小端存储模式(计算机小白必看!)
本文将介绍计算机存储数据时的大小端问题