자바 Java/문법
비트 논리 연산자(&, |, ^, ~)
하나비 HANABI
2022. 1. 4. 10:21
비트 논리 연산자: 피연산자가 boolean타입일 경우 일반논리연산자, 정수타입일 경우 비트논리연산자 사용
비트 연산자는 피연산자를 int타입으로 자동 타입 변환 후 연산수행
&(AND) : 두 비트가 모두 1일 경우에만 연산 결과는 1
|(OR) : 두 비트 중 하나만 1이면 연산 결과는 1
^(XOR) : 두 비트 중 하나는 1이고 다른 하나가 0일 경우 연산 결과는 1
~(NOT) : 보수
public class bitWriteOp {
public static void main(String[] args) {
System.out.println("45 & 25 = " + (45 & 25));
System.out.println("45 | 25 = " + (45 | 25));
System.out.println("45 ^ 25 = " + (45 ^ 25));
System.out.println("~45 = " + (~45));
System.out.println(toBinaryString(45));
System.out.println("&");
System.out.println(toBinaryString(25));
System.out.println("||");
System.out.println(toBinaryString(45 & 25));
}
public static String toBinaryString(int num) {
String str = Integer.toBinaryString(num);
while(str.length() < 32) {
str += "0";
}
return str;
}
}
실행결과:
45 & 25 = 9
45 | 25 = 61
45 ^ 25 = 52
~45 = -46
10110100000000000000000000000000
&
11001000000000000000000000000000
||
10010000000000000000000000000000