이 글은 널널한 개발자님의 C언어 비트 연산자의 위력을 정리한 글이다.
포인터라는 개념은 컴퓨터 구조나 운영체제를 잘 알고있다면 쉽게 이해될 것이다.
C언어의 꽃이 포인터라면, 가장 강력한 기능은 비트연산자이다.
짝수, 홀수를 구분해야 하는 상황이라면 2진수의 마지막 자리수가 1인지 0인지만 확인하면 된다.
#include <stdio.h>
int main()
{
printf("6 - 3: %d\n", 6 - 3);
printf("6 - 3: %d\n"), // 컴퓨터의 이진수 뺄셈법: 1의 보수 + 1
0x00000006 + (~0x00000003 + 1)); // (2의 보수를 더하고 자리올림을 버림)
// 나눗셈 연산 이용해 변수가 짝수인지 판별
int nInput = 9;
if (nInput % 2)
puts("홀수");
else
puts("짝수");
// 비트 연산자를 활용해 더 빠르게 판별 가능
if (nInput & 0x00000001)
puts("홀수");
else
puts("짝수");
return 0;
}
빼기를 반복하는 복잡한 연산인 나눗셈이 아닌 비트연산자 한번의 연산으로 계산효율적인 결과를 얻을 수 있다.
'computer' 카테고리의 다른 글
웹 브라우저에 URL 입력하면 일어나는 일 (인프라) (0) | 2022.11.11 |
---|---|
네임 서버 (a.k.a. DNS) (0) | 2022.09.07 |
가상메모리 접근 권한 (0) | 2022.07.20 |
가상메모리 페이징 기법의 구현 (0) | 2022.07.20 |
가상 메모리 개요 (0) | 2022.07.16 |