与: 求同存异;
或: 相同为同,不同为异;
异或: 相同为0,不同为1;
按位取反: 每位取反。
例如:
public class 补码__二进制 {
/*
* 输入一个整数,输出该数二进制表示中1的个数。其中负数用补码表示。
*/
public static void main(String[] args) {
int a=5;
// 00000000 00000000 00000000 00000101
a = a << 1; //左移
// 00000000 00000000 00000000 00001010
System.out.println(a);
a=5;
a = a>>1; // 右移
//00000000 00000000 00000000 00000010
System.out.println(a);
int b=-5;
//00000000 00000000 00000000 00000101 // 5 原码
//11111111 11111111 11111111 11111010 // 取反
//11111111 11111111 11111111 11111011 // 加1
b = b<<1; // 负数左移
System.out.println(b);
//11111111 11111111 11111111 11110110
b=5;
b = b>>1; // 负数右移
//11111111 11111111 11111111 11111101
System.out.println(b);
int c=5;
int d=10;