기본적인 프로그래밍 언어는 생략 헷갈릴만한 것만

비트 연산자 (Bitwise Operators)

비트 연산자는 비트 단위로 데이터를 조작합니다.

  • &: 비트 AND
  • |: 비트 OR
  • ^: 비트 XOR
  • ~: 비트 NOT
  • <<: 왼쪽 시프트
  • >>: 오른쪽 시프트
int a = 15;  // 00001111 (2진수)
int b = 20;  // 00010100 (2진수)

// 비트 연산 결과
int resultAnd = a & b;  // 00000100 (4)
int resultOr = a | b;   // 00011111 (31)
int resultXor = a ^ b;  // 00011011 (27)
int resultNot = ~a;     // 11110000 (-16)
int resultShiftLeft = a << 2;  // 00111100 (60)
int resultShiftRight = a >> 2; // 00000011 (3)
  • 비트 연산자 사용 예시
int a = 15;  // 00001111
int b = a << 2;  // 왼쪽으로 2비트 시프트 (00111100, 즉 60)

위 코드에서는 a를 2비트만큼 왼쪽으로 시프트하여 **새로운 값(60)**을 얻습니다. 비트 연산자는 플래그 설정, 비트 마스크 처리, 효율적인 데이터 조작에 자주 사용됩니다.

 

요약)즉, 각 이진수의 자리수끼리 진리연산을 하는것을 비트 연산이라 한다. 기본적인 연산논리는 일반산술연산논리와 동일함 ex) 001110 & 110001 -> 000000 

이때 시프트라는 개념은 자릿수를 그래로 옮기는 것을 말함(단 기본적으로 빈자리는 0으로 대체)

switch 문

switch 문은 특정 변수의 값에 따라 여러 코드 블록 중 하나를 실행합니다.

case 키워드를 사용해 변수 값과 일치하는 블록을 찾아 실행하며, 일치하지 않는 경우 default 블록을 실행합니다.

  • 기본 구조

switch (변수)
{
    case 값1:
        // 값1과 일치할 경우 실행할 코드 블록
        break;
    case 값2:
        // 값2와 일치할 경우 실행할 코드 블록
        break;
    default: 
        // 모든 case와 일치하지 않을 경우 실행할 코드 블록
}

 

요약) if 조건문과 비슷하지만 변수의 값에 따라 특정블록을 실행합니다 파라미터만 들어옵니다

 

do-while 루프는 코드 블록을 최소 한 번 실행한 후 조건을 검사합니다. 조건이 참이면 반복을 계속하며, 그렇지 않으면 종료됩니다. 최소 한 번은 반드시 실행되어야 하는 작업에 적합합니다.

  • 기본 구조// 초기문
    do
    {
        // 반복하고자 하는 내용
    }
    while (조건문);

 

  • 예제: 0을 입력할 때까지 숫자 입력받기

int num;  // 초기문
do
{
    cout << "숫자를 입력하세요(0을 입력하면 종료): ";
    cin >> num;
    cout << num << endl;
}
while (num != 0);