在计算机中,正数的补码是其本身 负数的补码是符号位不变 其他位取反之后加1,即负数以其正值的补码形式表达。
原码:一个整数,按照绝对值大小转换成的二进制数,称为原码。
反码:将二进制数按位取反,所得的新二进制数称为原二进制数的反码。
补码:反码加1称为补码。也就是说,要得到一个数的补码,先得到反码,然后将反码加上1,所得数称为补码。
要点:
>> 是带符号右移
>>> 是无符号右移.
public class LowFourBit {
public static void main(String[] args) {
//十进制转换成二进制输出,即输入一个十进制数,然后将其以二进制的形式输出。
String str = Integer.toBinaryString(15);
System.out.println("15的二进制为:" + str);
//System.out.println("15的二进制为:" + Integer.toBinaryString(15));//简单写法
//十进制转换成十六进制输出,即输入一个十进制数,然后将其以十六进制的形式输出。
str = Integer.toHexString(15);
System.out.println("15的十六进制为:" + str);
//获取数字20的二进制的最低四位
int num = 20;
System.out.println("20的二进制为:" + Integer.toBinaryString(20));
int lowFourBit = num & 15;
System.out.println("20的二进制低四位为:" + Integer.toBinaryString(lowFourBit));
//在前一步的基础上,获取数字20的下一组低四位
//方法:将20的二进制右移四位
lowFourBit = num >>> 4;
System.out.println("20的二进制下一组低四位为:" + Integer.toBinaryString(lowFourBit));
}
}