고양이와 코딩
비트 연산 본문
728x90
비트(bit): 컴퓨터에서 숫자의 최소 단위. 1비트는 0 or 1을 나타냅니다.
8비트 == 1바이트
비트 연산자의 종류
AND (&)
- 모두 1일때만 1
OR (|)
- 하나만 1이여도 1
XOR (^)
- 두 수가 달라야지 1
<< >> (쉬프트)
- 좌측 쉬프트 (<<) 일 때, 만일 앞의 숫자가 갈 자리가 없다면 그 부분은 버려짐, 하지만 뒤에서 새로 채워지는 부분은 앞에서 버려진 숫자로 채워지는게 아니라, 무조건 0으로 채워짐
- 우측 쉬프트 (>>) 일 때, 오른쪽 쉬프트 숫자가 갈 자리가 없다면 버려짐. 좌측 쉬프트와는 다르게 마지막 숫자가 0으로 무조건 채워지는게 아니라, 맨 왼쪽에 있던 숫자로 채워지게 됨
삼항연산자
조건 ? TRUE : FALSE;
ex) num1 > num2 ? num1: num2;
조건이 참이면 연산 결과로 num1이 반환, 거짓이면 num2가 반환
((x) = (((x) != 0U) ? 0U : 1U))
x가 0U의 값과 다르다면, x의 값을 반전시킨다(반대로 뒤집는다)
변수 x가 0이면 1로, 0이 아니면 0으로!
'C' 카테고리의 다른 글
포인터 진짜 짜증남 (0) | 2024.06.15 |
---|---|
function (1) | 2024.06.09 |
포인터 (0) | 2024.05.10 |
[씹어먹는 C 언어] 반복문 - 삼각형 그리기 (0) | 2024.03.17 |
[프로그래머스] 3월16일 ~ (0) | 2024.03.16 |