티스토리 뷰
[주제]
- 비트 연산의 기호와 처리 결과
[중요]
1. AND(&): 비교 값 둘다 '1'이면 1, 아니면 '0'
2. OR(|): 비교 값 둘 중 하나라도 '1'이면 1, 아니면 '0'
3. XOR(^): 비교 값 둘 중 하나라도 '1'이면 1, 둘 다 '1' 또는 '0'이면 '0'
4. NOT(~): 0 ↔ 1 교환
5. 왼쪽 쉬프트(<<): 10진수를 기준으로 1회당 '*2' 연산
6. 오른쪽 쉬프트(>>): 10진수를 기준으로 1회당 '/2' 연산
[소스 코딩]
package bitClass; class bitClass { public static void main(String[] args) { // [연산의 종류] byte b; // 1. AND연산 : & // 같은 위치의 값이 둘 다 1이면 1, 아니면 0 b = 0x57 & 0x41; System.out.println("b = " + b); // 2. OR연산 : | // 같은 위치의 값이 둘 중 하나라도 1이면 1, 아니면 0 b = 0x57 | 0x41; System.out.println("b = " + b); // 3. XOR연산 : ^ // 같은 위치의 값이 둘 다 1 또는 0이면 0, 하나라도 다르면 1 b = 0x57 ^ 0x41; System.out.println("b = " + b); // 4. NOT연산 : ~ ※ 반전: 0 → 1, 1 → 0 b = ~0x57; System.out.println("b = " + b); // 5. 왼쪽 쉬프트 : << // 오른쪽에 새로운 비트 값은 0으로 채워짐 // 쉬프트 1회당 현재 값의 '*2' 연산 처리가 된 값을 가짐 ※ 10진수 기준 int n; n = 0x05; System.out.println("n = " + n); n = n << 1; // == n * 2 System.out.println("n = " + n); n = n << 1; // == n * 2 * 2 System.out.println("n = " + n); // 6. 오른쪽 쉬프트 : >> // 왼쪽에 새로운 비트 값은 0으로 채워짐 // 쉬프트 1회당 현재 값의 '/2' 연산 처리가 된 값을 가짐 ※ 10진수 기준 n = n >> 1; System.out.println("n = " + n); n = n >> 2; System.out.println("n = " + n); // 7. 쉬프트 : >>> // '>>'와 다른점은 부호비트를 무시 n = 0x05; System.out.println("n = " + n); n = n >>> 1; System.out.println("n = " + n); n = 0x01; System.out.println(n); n = n << 5; System.out.println(n); } } | cs |
■ 실행결과
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- tdataset
- Delphi
- 교육센터
- RA
- 영어
- 정렬
- 대상
- 문법
- 왕초보 영어회화 100일의 기적
- 계산기
- VCL
- ADODB
- wfd
- System
- Reference
- Pte
- 상황
- 알고리즘
- 자료구조
- 응용
- SysUtils
- 일기
- SWT
- 스택
- 여행영어 100일의 기적
- java
- 말하기
- 작문
- 독해
- 설명
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
글 보관함