JAVA正反合——原码、补码与反码学习笔记’

1.正反合——“原补反” Byte b=-11;

1
0
0
0
1
0
1
1
图1-1
图1-1为-11的原码形式;
1
0
0
0
1
0
1
1
图1-2
图1-2为-11的反码形式;
1
1
【JAVA正反合——原码、补码与反码学习笔记’】1
1
0
1
0
0
图1-3
图1-3为-11的补码形式,即-11的反码+1;
0
0
0
0
1
0
1
1
图1-4
图1-4为+11的原码形式,其补码形式、反码形式与其原码形式完全相合。
1.1 “原补反”
所有数字在计算机底层均以补码的形式存在,且计算机以补码的形式存储整数。
如上图,正数的原码,补码,反码无任何差别;负数的反码为其原码符号位不变,其他位按位取反;而负数的补码是其反码+1。
Java的整数类型默认为int,其二进制有32位且第32位为其符号位;Byte,Long及其他基本数据类型同理。


    推荐阅读