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

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及其他基本数据类型同理。

 

 

你可能感兴趣的:(Java)