shift 연산과 bool형 자료 사용법, 논리 연산자에 대해 정리해보겠다.
● Shift 연산
1. 왼쪽 비트시프트 (<<)
- 오른쪽에 0이 주어진 개수만큼 추가된다.
- a, b가 있다면 a << b하면 a를 2^b배 곱한 값.
2. 오른쪽 비트시프트 (>>)
- 왼쪽에 0 (0 또는 양의 정수인 경우), 1 (음의 정수인 경우)이 개수만큼 추가된다.
- 나누기
● bool 사용
1. NOT
입력은 똑같이 scanf("%d", &a)로 받은 다음 not 연산해서 출력
printf("%d", !a);
2. AND
둘 다 참인 경우만 참을 출력하는 경우
scanf(“%d%d”, &a, &b);
printf(“%d”, a&&b);
3. OR
둘 중의 하나만 참인 경우에 참을 출력
printf("%d", a||b);
4. XOR
둘이 같을 때에만 참을 출력
printf("%d", (a&&!b) || (!a&&b));
5. 둘 다 거짓일 경우에만 참
printf("%d", (!a && !b));
● 비트단위 연산자
~ (bitwise not)
& (bitwise and)
| (bitwise or)
^ (bitwise xor)
<< (bitwise left shift)
>> (bitwise right shift)
1. 비트 단위로 참/거짓을 바꾼 후 정수로 출력하기
printf("%d", ~a);
● 3항 연산자
1. a, b, c의 세 개의 값 중에서 가장 큰 값 출력하기
(a>b ? a: b) > c ? (a > b ? a : b) : c
먼저 a와 b를 비교해서 큰 것을 고른 뒤, c와 비교해서 더 큰 것을 최종적으로 고른다.
계속 공부해나가면서 shift, bool, 논리 연산자, 3항 연산자와 관련하여 기억해야할 점을 채워나가겠다.
'C++ Programming > 기억해야할 점' 카테고리의 다른 글
6. 문자열 다루기 (0) | 2020.05.03 |
---|---|
5. 알고리즘 (0) | 2020.05.03 |
4. switch문, goto문 (0) | 2020.05.03 |
2. 출력 (0) | 2020.05.03 |
1. 입력 (0) | 2020.05.03 |