黑马程序员技术交流社区
标题:
java 基础请教
[打印本页]
作者:
竹林雅轩
时间:
2015-9-28 22:37
标题:
java 基础请教
这个程序打印的结果我知道我也能算出来,
byte b2 = (byte)130;
System.out.println(b2);
相关的过程是这样的:
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
教学课程中刘意老师说10000010这个是原代码,但是课上老师说这个是补码;结果都一样,我糊涂了,怎么回事?请求高手指教!!
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2