按位和运算符
“”是双目运算符,按位运算两个整数数据a、b,运算结果为一个整数数据c。
运算法则是,如果a、b两个操作数对应的位都是1,则c的该位为1,否则为0。
结果的精度与两个操作数中精度高的操作数相同。
例如:
int a=3,b=4;
system.out.println(ab;
结果: 0
a:0000、0000、0000、0000、0000、0000、0000、0000、0000和0011
请参见------------------------------------------------------- -
b:0000、0000、0000、0000、0000、0000、0000、0000、0000和0100
c:0000、0000、0000、0000、0000、0000、0000、0000、0000和0000
位或运算符|
“|”是双目运算符,按位运算两个整数数据a、b,运算结果为一个整数数据c。
运算法则是,如果a、b双方的数据对应比特为0,则c的该比特为0,否则为1。
结果的精度与两个操作数中精度高的操作数相同。
例如:
int a=3,b=4;
system.out.println(ab;
结果: 7
a:0000、0000、0000、0000、0000、0000、0000、0000、0000和0011
请参见------------------------------------------------------- -
b:0000、0000、0000、0000、0000、0000、0000、0000、0000和0100
c:0000、0000、0000、0000、0000、0000、0000、0000、0000和0111
“按位非”运算符~
“~”是单眼运算符,对一个整数数据a逐位进行运算,运算结果为一个整数数据c。
运算法则是,如果对应于a的位是0,则c的该位是1,否则是0。
例如:
int a=3;
system.out.println(~a );
结果:-4
a:0000、0000、0000、0000、0000、0000、0000、0000、0000和0011
c:1111、1111、1111、1111、1111、1111、1111、1111、1111和1100
"异或"运算符^
“^”是双目运算符,按位运算两个整数数据a、b,运算结果为一个整数数据c。
运算法则是,如果a、b两个数据对应的位相同,则c的该位为0,否则为1。
结果的精度与两个操作数中精度高的操作数相同。
例如:
int a=3,b=4;
system.out.println(a^b;
结果: 7
a:0000、0000、0000、0000、0000、0000、0000、0000、0000和0011
请参见------------------------------------------------------- -
b:0000、0000、0000、0000、0000、0000、0000、0000、0000和0100
c:0000、0000、0000、0000、0000、0000、0000、0000、0000和0111