原码,反码与补码的概念以及Java中数的存储方式

*原码,反码,补码必须满8位,不足在前填0;

1,原码:用符号位和数值位表示一个带符号的数

+  -> 0                 -   -> 1     表示数的范围-127~+127

例如:[+10011]原=00010011    [-10011]原=10010011     [+0]原=00000000       [-0]原=10000000

2,反码:正数的反码与原码相同,负数的反码是对该数的原码除符号位各位取反

例如:[+10011]反=00010011  [-10011]反=11101100    [+0]反=00000000     [-0]反=11111111

*任意数的反码的反码为原码本身

3,补码:正数的补码与原码相同,负数的补码是对该数的原码除符号位外各位取反,末位加1

例如:[+10011]补=00010011  [-10011]补=11101101    [+0]补=[-0]补=00000000

*任意数的补码的补码为原码本身

4,任意数都是以其二进制的补码形式存储在内存中

因为计算机中只有加法没有减法,为了更加低成本的计算出结果,所以用补码的形式存储数据。

posted on 2018-10-07 13:07  不愧下学  阅读(282)  评论(0编辑  收藏  举报

导航