java 位运算符 “&” 、“|”

来源:互联网 发布:qq欢乐斗地主mac版 编辑:程序博客网 时间:2024/05/21 06:18

&和| 是可以做逻辑运算,也可以做位运算.

& 位运算符,按位于(AND),主要针对二进制

&两边支持的类型int char boolean

两个操作数中位都是1,结果才是1,其他情况结果是0

1 & 0 = 0;1 & 1 = 1;0 & 0 = 0
12 & 13 = 1100 & 1101 =  1100 = 12;

 十进制转换二进制:Integer.toBinaryString(int decimal);

q & w = ?

首先字符转换成ascii

  1. public static String stringToAscii(String value)  
  2. {  
  3.     StringBuffer sbu = new StringBuffer();  
  4.     char[] chars = value.toCharArray();   
  5.     for (int i = 0; i < chars.length; i++) {  
  6.         if(i != chars.length - 1)  
  7.         {  
  8.             sbu.append((int)chars[i]).append(",");  
  9.         }  
  10.         else {  
  11.             sbu.append((int)chars[i]);  
  12.         }  
  13.     }  
  14.     return sbu.toString();  
  15. }
q & w = 113 & 119 = 1110001 & 1110111 = 1110001 = 113;

如果两边是boolean,则进行逻辑运算,eg:

true & false = false;

true & true = true;

false & false = false;

"|" 位运算符,按位与(OR),主要针对二进制

"|"两边支持的类型int char boolean

两个操作数种任一个位是1则结果为1

1 | 1 =  1; 1 | 0 = 1; 0 | 0 = 0

2 | 3 = 10 | 11 = 11 = 3

2 | 2 = 10 | 10 = 10 = 2

12 | 13 = 110 | 111 = 111 = 13

q | w = 113 & 119 = 1110001 | 1110111 = 1110111 = 119

如果两边是boolean,则进行逻辑运算,eg:

true | true = true;

true | false = true;

false | false = false;



0 0