数值的二进制与位运算

原码:原码就是早期用来表示数字的一种方式: 一个正数,转换为二进制位就是这个正数的原码。负数的绝对值转换成二进制位然后在高位补1就是这个负数的原码。

反码:正数的反码就是原码,负数的反码等于原码除符号位以外所有的位取反

补码:正数的补码与原码相同,负数的补码为 其原码除符号位外所有位取反(得到反码了),然后最低位加1.

package java20190918;

public class weicaozuo {
	public static void main(String[] args) {
		System.out.println(1<<2);//1*2而二次方
		System.out.println(2<<3);//2*2的三次方
		System.out.println(8>>3);//8/(2的三次方)
		System.out.println(-8>>3);//-8/(2的三次方)
		System.out.println(-8<<3);//-8*2的三次方
		System.out.println(15&2);//与运算
		System.out.println(15|2);//或运算
		System.out.println(15^2);//异或运算
		System.out.println(~12);//反码
	}
}

 

 java中的数采用原码表示的。

原文地址:https://www.cnblogs.com/yangxionghao/p/11540067.html