原码、补码、反码的概念和java数的存储方式
原码:用符号位和数值位表示一个带符号数,整数符号->0,负数符号->1,数值一般用二进制形式表示
[+10011]原=00010011 [-10011]原=10010011
反码:正数的反码与原码相同,负数的反码是对该数的原码除符号位外各位取反
[+10011]反=00010011 [-10011]反=11101100
补码:正数的补码与原码相同,负数的补码是对该数的原码除符号位外各位取反,末尾加1
[+10011]补=00010011 [-10011]反=11101101
import java.util.Scanner;
public class Zkh {
public static void main(String[] args)
{
int a=-1;
int b=-2;
System.out.println(Integer.toBinaryString(a));
System.out.println(Integer.toBinaryString(b));
}
}
Java中使用补码的方式储存