黑马程序员技术交流社区

标题: byte类型为什么是-128~127?? [打印本页]

作者: huangye    时间: 2016-3-23 22:32
标题: byte类型为什么是-128~127??
本帖最后由 huangye 于 2016-3-23 23:21 编辑

为什么-128可以?求详解
作者: 星空下的初吻    时间: 2016-3-23 22:48
因为short类型 范围在(-2^15)到(2^15)-1之间 包含 -128  所以short类型定义值的时候  可以 定义-128
作者: sensir    时间: 2016-3-24 00:29
-0代表 -128
作者: he27742787    时间: 2016-3-24 08:40
因为有一个0,为了方便
作者: 604840337    时间: 2016-3-24 09:24
你没有发现鼓规律吗? short 2^15  int 2^21  byte 2^7  明白吗
作者: 604840337    时间: 2016-3-24 09:26
604840337 发表于 2016-3-24 09:24
你没有发现鼓规律吗? short 2^15  int 2^21  byte 2^7  明白吗

纠正一下  int   2^31
作者: monZhang    时间: 2016-3-24 11:54
Byte在内存中占一个字节,一个字节是八位 也就是八个1 ,即256个数,从0左右分 算上零-128~127正好256个数。

作者: skxy2016    时间: 2016-3-24 13:42
因为有0在中间分开
作者: javen_oi    时间: 2016-3-24 14:04
因为一个有8位二进制表示,及0=00000000;但是在计算机中第一位表示符号,0为正,1为负。所以-1=10000000;-2=10000001;127=01111111;-128=11111111;
作者: fighting2016    时间: 2016-3-24 15:00
1,byte占8位,可表示范围为 0 至 2^8  - 1 = 255 的 256 个数
2,最高位为符号位,1为负,0为正,剩下 7 位可以表示范围为 0 至 2^7 - 1 = 127的 128 个数
3,加上符号位后,byte表示的范围为   -127 ~ -0  ,0  ~ 127 , 共 256 个数
4,因为初现  +0  和  -0这样的两个“0”,是不被允许的,所以人为规定 -0 为-128,这样保证的负数(最高位为 1)范围为 -128 ~ -1  共有128个,正数(最高位为0)范围为 0 ~  127  共128个,一共还是256个

这样说应该比较明了了~~~
作者: huangye    时间: 2016-3-24 20:16
fighting2016 发表于 2016-3-24 15:00
1,byte占8位,可表示范围为 0 至 2^8  - 1 = 255 的 256 个数
2,最高位为符号位,1为负,0为正,剩下 7  ...

如果是规定就可以不纠结了,谢谢!!!
作者: huangye    时间: 2016-3-24 20:32
-128的原反补码计算过程,哪位大神给写下
作者: iffie1017    时间: 2016-3-24 21:24
因为byte类型只占一个字节,也就是8个二进制位,第一位是表示正负的,而1000 0000就表示-128,0000 0000表示0,0111 1111表示127
作者: 怀寒123    时间: 2016-3-24 21:25
实际上我们知道就行,在开发中也不会去深究这些的




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2