computer
C언어 비트 연산자
축구왕농구킹
2023. 1. 25. 13:23
이 글은 널널한 개발자님의 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;
}
빼기를 반복하는 복잡한 연산인 나눗셈이 아닌 비트연산자 한번의 연산으로 계산효율적인 결과를 얻을 수 있다.