出自:https://www.cnblogs.com/liaopeng/p/8436155.html
/**
* 2 0010
* 3 0011
*/
System.out.println(2^3); // ^(亦或运算) ,针对二进制,相同的为0,不同的为1
System.out.println(2&3); // &(与运算) 针对二进制,只要有一个为0,就为0
// <<(向左位移) 针对二进制,转换成二进制后向左移动3位,后面用0补齐
// 也可以理解为左移1位是乘以2,左移三位就是2*2*2*2=16
System.out.println(2<<3);
// >>(向右位移) 针对二进制,转换成二进制后向右移动3位,
System.out.println(2>>3);
System.out.println(16>>3); // 右移1位就是除以2
System.out.println("=====");
System.out.println(0b00010000); // 0b表示是二进制数字
System.out.println(Integer.toBinaryString(16)); // 十进制转二进制字符串
网友评论