原码补码反码

原码、反码、补码是计算机中对数字的二进制表示方法。

计算机储存符号的时候,0表示+;1表示-;

1、原码

将最高位作为符号位,其他7位是数值位即一个十进制数字的二进制表示方法。

例如:     +7的原码为: 00000111
                -7的原码为: 10000111

2、反码

一个数如果为正,则它的反码与原码相同;                            +7的反码为:00000111

一个数如果为负,则符号位为1,其余各位是对原码取反。     -7的反码为:11111000

3、补码

一个数如果为正,则它的原码、反码、补码相同;                                            +7的补码:00000111

一个数如果为负,则符号位为1,其余各位是对原码取反,然后整个数加1。    -7的补码:11111001

0的反码、补码都为0

总结:
1、正数的原码、补码、反码均为其本身;
2、负数:
              反码 = 原码(除符号位外)每位取反
              补码 = 反码 + 1
              反码 = 补码 - 1

public class Test {
    
	public static void main(String args[]) {
		int num1=7;
		int num2=2;
		System.out.println(num1&num2);
		System.out.println(num1|num2);
		System.out.println(num1^num2);
	}
}

  运行结果:

 

Java中数据是按照补码的形式储存的。

 

posted on 2019-09-19 22:21  小橘猫xjm  阅读(912)  评论(0编辑  收藏  举报

导航