반응형
Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
Tags
- Kenneth Park
- Java 스터디
- 미국대학
- 미국유학생활
- 미국유학생
- 미국유학
- F1학생비자
- 미국대학생활
- 자바
- i-20
- 부산외대
- 만다라트프로젝트
- 해외유학
- JVM아키텍처
- 자바 스터디
- java
- 개인 프로젝트 개발일지
- 사이드프로젝트
- 유학생대학생활
- 비전공자 git
- 개발일지
- 파이데이아창의인재학과
- CSUS
- 2+2
- 케네스로그
- jpa
- California State University Sacramento
- 복수학위제도
- 케네스
- 유학생 준비물
Archives
- Today
- Total
케네스로그
[Java] 비트연산자 bitwise 본문
반응형
비트, 쉬프트 연산은 주로 네트워킹 작업에서 사용되는 저수준의 연산자입니다. 보통은 플래그를 이용한 테스트에서 사용됩니다. 비트수준의 연산은 기본적으로 2진 연산과 보수 시스템에 대한 이해를 필요로 합니다.
💡low-level연산의 표현 단위
long타입이 포함된 경우, 결과는 long타입(8byte/32bit)으로 표현된다.
그외에는 int타입(4byte/16bit)으로 표현됨.
🛑 bitwise 연산은 실수, boolean, 배열, 객체는 사용할 수 없다.
비트 보수 연산자 ~ bitwise complement
비트 | 결과 |
0 | 1 |
1 | 0 |
~ 단일 연산은 not 연산과 마찬가지로 피연산자 값의 비트 표현식에 반전을 취합니다.
12의 2진법 표현은 1100, 비트 보수 연산의 결과는 0011
byte b = 12;
byte bc = Integer.toBinaryString(~b); // 32비트 변환
System.out.println(bc & 0xFF)
비트 AND 연산자 & bitwise AND
비트1 | 비트2 | 결과 |
0 | 0 | 0 |
0 | 1 | 0 |
1 | 0 | 0 |
1 | 1 | 1 |
AND연산은 두 비트가 1인 경우에만 1을 반환합니다.
AND연산은 두 정수형 피연산자의 2진 표현에 대해 and연산을 수행합니다.
int x = 2;
int y = 3;
System.out.println("b's bit exp: " + Integer.toBinaryString(x)); // 10
System.out.println("y's bit exp: " + Integer.toBinaryString(y)); // 11
System.out.println("x & y: " + Integer.toBinaryString(x&y)); // 10
System.out.println("x&y's result value in integer: " + (x&y)); // 2
비트 OR 연산자 | bitwise OR
비트1 | 비트2 | 결과 |
0 | 0 | 0 |
0 | 1 | 1 |
1 | 0 | 1 |
1 | 1 | 1 |
OR연산은 두 비트 중 1이 존재하는 경우에만 1을 반환합니다.
AND연산과 마찬가지로 비트 OR연산자는 피연산자의 2진 표현에 OR연산을 한다.
int x = 2;
int y = 3;
System.out.println("b's bit exp: " + Integer.toBinaryString(x)); // 10
System.out.println("y's bit exp: " + Integer.toBinaryString(y)); // 11
System.out.println("x & y: " + Integer.toBinaryString(x|y)); // 11
System.out.println("x|y's result value in integer: " + (x|y)); // 3
비트 XOR 연산자 ^ biwsise XOR
비트1 | 비트2 | 결과 |
0 | 0 | 0 |
0 | 1 | 1 |
1 | 0 | 1 |
1 | 1 | 0 |
XOR연산은 두개의 비트가 같으면 0, 다르면 1을 반환합니다.
int x = 10;
int y = 7;
System.out.println("b's bit exp: " + Integer.toBinaryString(x)); // 1010
System.out.println("y's bit exp: " + Integer.toBinaryString(y)); // 111
System.out.println("x ^ y: " + Integer.toBinaryString(x|y)); // 1101
System.out.println("x^y's result value in integer: " + (x|y)); // 13
참조사이트
https://catch-me-java.tistory.com/23?category=438116
https://ndb796.tistory.com/4
반응형
'Dev > Java' 카테고리의 다른 글
[Java] 관계 연산자, 균등 연산자 (0) | 2022.02.05 |
---|---|
[Java] 쉬프트 연산자 <<, <<< (0) | 2022.02.05 |
[Java] 산술연산자 (0) | 2022.02.04 |
[Java] 타입 추론 var (0) | 2022.01.30 |
[Java] 배열의 선언과 메모리 할당 (0) | 2022.01.30 |