黑马程序员技术交流社区
标题:
[byte]中00000000 与10000000的区别是什么?
[打印本页]
作者:
Kas_ygx
时间:
2016-7-2 15:47
标题:
[byte]中00000000 与10000000的区别是什么?
欢迎各位老师,学长学姐来指导
作者:
Kas_ygx
时间:
2016-7-2 15:56
今天看资料时有一个疑惑,挥之不去,零基础导致想破脑袋也没想通,所以在此请教各位前辈,望不吝指导:
话说整数型数据类型 byte占了一个字节,取值范围是-128 ~ 127;那么问题来了:
1. byte数据类型能不能取值-128或127? 答: 经验证可以等于-128或127;
2. byte数据类型的-128的二进制表达式是什么? 答: 经验证,1 111111为-127,0 1111111为127,那么-128怎么表达呢?
3. 0 0000000和1 0000000 这两个表达式哪个代表0呢,另外一个又代表什么意思呢?
作者:
Kas_ygx
时间:
2016-7-2 15:59
我是7/26重庆校区基础班的学员
作者:
Kas_ygx
时间:
2016-7-2 16:04
没人,哎
作者:
Kas_ygx
时间:
2016-7-2 16:14
作者:
as6163522
时间:
2016-7-2 16:40
其实核心就是一个二进制算法的问题
二进制算法很简单。除二余1得1,整除等0
举个栗子32
32/2 = 16 得整 取 0
16/2 = 8 等整 取 0
8/2 = 4 得整 0
4/2 = 2 0
2/2 = 1 0
1/2 有余 1
32=100000
-128
-128/2 = 64 0
64/2 = 32 0
32/2 = 16 0
16/2 = 8 0
8/2 = 4 0
4/2 = 2 0
2/2 = 1 0
1/2 有余 1
-128=-10000000
当二进制反推10进制的时候逆推就可以了
00000000任何时候*2都是0肯定是0
10000000=1*2*2*2*2*2*2*2=128
当然如果有11010之类的1就+1在*2
栗子110=(1*2+1)*2=6
作者:
Kas_ygx
时间:
2016-8-16 23:06
自己顶贴,可以赚黑马币
作者:
Kas_ygx
时间:
2016-8-16 23:20
作者:
Kas_ygx
时间:
2016-8-16 23:25
作者:
bin931207
时间:
2016-8-16 23:35
最高位是0的是正数,最高位是1的是负数
作者:
726477179
时间:
2016-8-17 14:38
10000000代表-128
作者:
wangxikun
时间:
2016-8-17 15:27
人气不是很旺啊,大家快来帮忙解答疑惑
作者:
talons
时间:
2016-8-17 21:35
1byte = 8位
负数存储的是补码。
而最高位表示符号位,1表示负数,0表示正数。
[0000 0000]这个就是表示0
[0111 1111]这个表示127
127再加一就[1000 0000]这就越界了。
负数求补码:正数的反码+1;
所以-128的表示:
作者:
talons
时间:
2016-8-17 21:37
尴尬。。。怎么就跳了
-128表示:
128原码:[1000 0000]
128反码:[0111 1111]
再加1 :[1000 0000]
又回来了。
8位不好理解,你增加到16位就比较好理解了 。
作者:
zhangliuwei
时间:
2016-8-17 22:32
byte字节之所以是 -128——127,是因为,0的存在。其中1000 0000代表的是-128,因为它是以补码的形式存在的,计算机之所以这样设计是便于计算。对于正数,他就是以原码形式存在,所以0是0000 0000
作者:
shenlibing666
时间:
2016-8-17 22:36
最高位是符号位,0表示正数,1表示负数
作者:
冯潜001
时间:
2016-8-17 23:00
1byte = 8位
即【0000 0000】 八位2进制 首位代表正负 0 为正 1为负 2的7方 为128 因为在非负数中0占一位 所以整数到127
作者:
695212308
时间:
2016-8-18 18:36
127 -128
作者:
Kas_ygx
时间:
2016-8-18 23:37
talons 发表于 2016-8-17 21:37
尴尬。。。怎么就跳了
-128表示:
128原码:[1000 0000]
多谢指点,很感谢
作者:
Kas_ygx
时间:
2016-8-18 23:38
各位前辈的解答非常的详细和有用,再次感谢大家的帮助
作者:
Kas_ygx
时间:
2016-8-18 23:42
作者:
Kas_ygx
时间:
2016-8-18 23:58
作者:
Kas_ygx
时间:
2016-8-19 00:03
作者:
chensc
时间:
2016-8-19 13:33
学习学习!
作者:
Kas_ygx
时间:
2016-8-19 22:06
作者:
Kas_ygx
时间:
2016-8-19 22:13
作者:
Kas_ygx
时间:
2016-8-19 22:18
作者:
Kas_ygx
时间:
2016-8-19 22:24
作者:
Kas_ygx
时间:
2016-8-19 22:34
作者:
Kas_ygx
时间:
2016-8-19 22:40
作者:
Kas_ygx
时间:
2016-8-19 22:43
作者:
Kas_ygx
时间:
2016-8-19 22:44
作者:
胡龙彬
时间:
2016-8-20 00:27
10000000代表-128的二进制 ,00000000代表0的二进制
作者:
Kas_ygx
时间:
2016-8-20 23:26
每天顶顶贴,可以得到黑马币
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2