소개
본 랩은 학생들이 비트 연산자를 사용하여 숫자가 짝수인지 홀수인지 판별하는 프로그램을 이해하도록 돕는 것을 목표로 합니다. 또한, 나머지 연산자 (modulus operator) 를 사용하지 않고 숫자가 짝수인지 홀수인지 확인하는 방법도 제공합니다.
비트 연산자
- 먼저 학생들에게 비트 연산자 (bitwise operator) 가 무엇인지 설명합니다.
- 비트 연산자를 사용하여 프로그램이 짝수와 홀수를 어떻게 확인하는지 설명합니다.
- 숫자가 홀수이면 최하위 비트 (LSB, Least Significant Bit) 에 1 을 갖습니다.
- 숫자가 짝수이면 최하위 비트 (LSB) 에 0 을 갖습니다.
- 학생들에게 코드 구현을 제공하고, 코드를
~/project/디렉토리의main.c파일에 복사하도록 요청합니다. - 코드 구현은 다음과 같아야 합니다.
#include<stdio.h>
int main()
{
printf("\n\n\t\tLabEx - Best place to learn\n\n\n");
int x;
for(x = 0; x <= 10; x++)
{
if(x&1) // if number is odd
printf("\t\t\t%d is odd\n",x);
else if(!(x&1)) // ! is used inside if to reverse the boolean value
printf("\t\t\t%d is even\n",x);
}
printf("\n\n\n\n\t\t\tCoding is Fun !\n\n\n");
return 0;
}
나머지 연산자 없이 짝수 또는 홀수 찾기
- 학생들에게 나머지 연산자 (modulus operator) 를 사용하지 않고도 숫자가 짝수인지 홀수인지 확인할 수 있다고 설명합니다.
- 이것이 어떻게 달성되는지 간략하게 설명합니다.
- 숫자가 짝수이면, 2 로 나눈 후 다시 2 를 곱하면 원래 숫자가 되어야 합니다.
- 숫자가 홀수이면, 2 로 나눈 후 다시 2 를 곱하면 원래 숫자가 되지 않아야 합니다.
- 학생들에게 코드 구현을 제공하고, 코드를
~/project/디렉토리의main.c파일에 복사하도록 요청합니다. - 코드 구현은 다음과 같아야 합니다.
#include<stdio.h>
int main()
{
printf("\n\n\t\tLabEx - Best place to learn\n\n\n");
int n;
printf("Enter a number: ");
scanf("%d",&n);
if((n/2)*2 == n)
printf("\n\n\t\t %d is Even\n", n);
else
printf("\n\n\t\t %d is Odd\n", n);
printf("\n\n\n\n\t\t\tCoding is Fun !\n\n\n");
return 0;
}
테스트
- 학생들에게 두 코드 구현을 모두 테스트하도록 요청합니다.
- 코드를 실행하고 출력이 예상대로 나오는지 확인합니다.
요약
학생들은 이제 숫자가 짝수인지 홀수인지 확인하는 두 가지 방법에 익숙해졌습니다. 원하는 기능을 달성하기 위해 이러한 기술을 모든 C 프로그램에서 구현할 수 있습니다.



