二进制的表示符号有:& | ^ >> 分别是
& | 如果相对应位都是1,则结果为1,否则为0 | (A&B),得到12,即0000 1100 |
| | 如果相对应位都是 0,则结果为 0,否则为 1 | (A | B)得到61,即 0011 1101 |
^ | 如果相对应位值相同,则结果为0,否则为1 | (A ^ B)得到49,即 0011 0001 |
〜 | 按位取反运算符翻转操作数的每一位,即0变成1,1变成0。 | (〜A)得到-61,即1100 0011 |
<< | 按位左移运算符。左操作数按位左移右操作数指定的位数。 | A << 2得到240,即 1111 0000 |
>> | 按位右移运算符。左操作数按位右移右操作数指定的位数。 | A >> 2得到15即 1111 |
>>> | 按位右移补零操作符。左操作数的值按右操作数指定的位数右移,移动得到的空位以零填充。 | A>>>2得到15即0000 1111 |
二进制的表示分别是这些: (|) 这是同时为真才为真,(&)同时为真才为真,(^)同时为真才为真
public class aj { public static void main(String[] args) { int a=1,b=2; /* * a=0001 * b=0010 * */ System.out.println(a | b); a=7; b=8; /* * a=00000111 * b=00001000 * */ System.out.println(a ^ b); a=7; b=8; /* * a=00000111 * b=00001000 * */ System.out.println(a & b); }