黑马程序员技术交流社区
标题:
java新手
[打印本页]
作者:
淡看流光行远
时间:
2015-1-20 23:27
标题:
java新手
本帖最后由 淡看流光行远 于 2015-1-26 21:32 编辑
1、~4
00000000 00000000 00000000 00000100
~ 按位取反,就是针对b这个二进制数据,所有的0变1,1变0。
补码 11111111 11111111 11111111 11111011
反码 11111111 11111111 11111111 11111010
原码 10000000 00000000 00000000 00000101
2、
byte b2 = (byte)130;
数据:130默认是int类型的十进制数据。
第一步:十进制的130转换成二进制数据。
128 64 32 16 8 4 2 1
1 0 0 0 0 0 1 0
第二步:130在内存中的表示形式,你做了截取
00000000 00000000 00000000 10000010
截取后的结果是:
10000010
第三步:二进制数据是10000010
通过观察,我们发现这是一个负数。
原码:1 0000010
反码:1 1111101
补码:1 1111110
最终的结果是:
1 1111110
为什么1中显示的是原码?2中显示的是补码?为什么4按位取反后就是补码?
作者:
朋好友
时间:
2015-1-20 23:49
计算机底层度以补码形式运算,算是被人看用的原码,,,,参考一下
作者:
史磊
时间:
2015-1-21 21:25
这些学的懂了就好 概念性的要搞清楚
作者:
I'can'do'it
时间:
2015-1-21 21:44
前面的1代表的是正还是负,正数的补码都是他自己的本身,负数的补码是最后一位加1,前面的不变0变1,
作者:
yueye13
时间:
2015-1-21 21:47
:handshake:handshake:handshake
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2