二进制位运算

来源:互联网 发布:云数据一体机能贷款吗 编辑:程序博客网 时间:2024/05/21 22:03

& 与运算, 6&3 = 2;

| 或运算 6|3 = 7;

^ 异或运算 6^3 = 5;

~ 反码 ~6 = 7;

<< 左移 3<<2 = 12; 3 *2*2 = 12;

>> 右移 3>>1 =  1; 3/2 = 1;

>>> 无符号右移 3>>>1 = 1;3/2 = 1;

----------------------------------------------------------------------------------------------------------------------------------------------

& 按位与,当两位同时为1时才为1如:1&1 = 1;1&0 = 0;0&1 = 0;

6&3相当于:0110&0011 = 0010=》2;

| 按位或,只要有一个为1,结果就为1如:1|1 = 1;1|0 = 1;0|1 = 1; 0|0 = 0;

6|3相当于:0110|0011 = 0111 =》 7;

^ 异或运算,两个相应位为“异”(值不同),则该位结果为1,否则为0如:1^1 = 0; 0^0 = 0; 1^0 = 1; 0^1 = 1;

6^3相当于:0110^0011 = 0101 =》5;

~ 取反运算,即将0变1,1变0如:~1 = 0; ~0 = 1;

~6 = ~0110 = 001

---------------------------------------------------------------------------------------------------------------------------------------------------

十进制转换成十六进制 Integer.toHexString(int i);

十进制转换成八进制 Integer.toOctalString(int i);

十进制转换成二进制 Integer.toBinaryString(int i);

十六进制转换成十进制 Integer.valueOf("FFF",16).toString();

八进制转换成十进制 Integer.valueOf("376",8).toString();

二进制转换成十进制 Integer.valueOf("0101",2).toString();

0 0