原码:一般以十进制表示,最左边为符号,0为正,1为负。
反码:为了解决原码不能计算负数的问题而出现,正数的反码不变,负数的反码在原码在原码的基础上符号位不变,数值取反,0变1,1变0.
补码:正数的补码是原码本身。负数的补码是反码 + 1(二进制加法)。
例如(8 位):+5 补码:00000101
-5 反码:11111010 → 加 1 → 11111011
0 只有一种表示:00000000。加减法统一为加法运算,硬件实现简单。
一般情况Java语言中的数字用补码来表示。
原码:一般以十进制表示,最左边为符号,0为正,1为负。
反码:为了解决原码不能计算负数的问题而出现,正数的反码不变,负数的反码在原码在原码的基础上符号位不变,数值取反,0变1,1变0.
补码:正数的补码是原码本身。负数的补码是反码 + 1(二进制加法)。
例如(8 位):+5 补码:00000101
-5 反码:11111010 → 加 1 → 11111011
0 只有一种表示:00000000。加减法统一为加法运算,硬件实现简单。
一般情况Java语言中的数字用补码来表示。