Java-位运算符
位运算符表示
在Java语言中,二进制数使用补码表示,最高位为符号位,正数的符号位为0,负数为1。补码的表示需要满足如下要求。
(1)正数的最高位为0,其余各位代表数值本身(二进制数)。
(2)对于负数,通过对该数绝对值的补码按位取反,再对整个数加1。
位运算符
Java定义了位运算符,应用于整数类型(int),长整型(long),短整型(short),字符型(char),和字节型(byte)等类型。
位运算符作用在所有的位上,并且按位运算。假设a = 60,b = 13;
它们的二进制格式表示将如下:
A = 0011 1100
B = 0000 1101
-----------------
A&b = 0000 1100
A | B = 0011 1101
A ^ B = 0011 0001
~A= 1100 0011
下表列出了位运算符的基本运算,假设整数变量A的值为60和变量B的值为13:

文章图片
这里写图片描述 代码实例
public class Test {
public static void main(String[] args) {
int a = 60;
/* 60 = 0011 1100 */
int b = 13;
/* 13 = 0000 1101 */
int c = 0;
c = a & b;
/* 12 = 0000 1100 */
System.out.println("a & b = " + c );
c = a | b;
/* 61 = 0011 1101 */
System.out.println("a | b = " + c );
c = a ^ b;
/* 49 = 0011 0001 */
System.out.println("a ^ b = " + c );
c = ~a;
/*-61 = 1100 0011 */
System.out.println("~a = " + c );
c = a << 2;
/* 240 = 1111 0000 */
System.out.println("a << 2 = " + c );
c = a >> 2;
/* 15 = 1111 */
System.out.println("a >> 2= " + c );
c = a >>> 2;
/* 15 = 0000 1111 */
System.out.println("a >>> 2 = " + c );
}
}
【Java-位运算符】运行结果为:
a & b = 12
a | b = 61
a ^ b = 49
~a = -61
a << 2 = 240
a >> 15
a >>> 15
推荐阅读
- 2018-02-06第三天|2018-02-06第三天 不能再了,反思到位就差改变
- Shell-Bash变量与运算符
- 每日一话(49)——一位清华教授在朋友圈给大学生的9条建议
- 标签、语法规范、内联框架、超链接、CSS的编写位置、CSS语法、开发工具、块和内联、常用选择器、后代元素选择器、伪类、伪元素。
- 发小的串门
- 2020-10-18|2020-10-18 致各位慢友
- 失踪的钢笔
- 152
- 姑爷
- 现役联盟前十怎么排(詹姆斯榜首无悬念!杜兰特库里位置不确定!)