프로젝트 & 과제/3학년

[C언어] 홀짝 구분

qqlzzb 2022. 1. 28. 20:37

개요

프로그래밍 언어 : C언어

과제 수행 날짜 : 2020.09.25

과제 개요 : 숫자 비교 방식과 비트 비교 방식을 이용한 홀짝 구분

 

코드

1) 숫자 비교 방식

#include <stdio.h>
int main()
{
    unsigned char c = 113;
    if ( c % 2 == 0)
    {
    	printf("짝수");
    }
    else
    {
    	printf("홀수");
    }
    return 0;
}

2) 비트 비교 방식

#include <stdio.h>
int main()
{
    unsigned char c = 45;
    if (c & 0x01)
    {
    	printf("홀수");
    }
    else
    {
    	printf("짝수");
    }
    return 0;
}

결과

1) 숫자 비교 방식

변수의 홀짝을 숫자 비교 방식으로 구분하려면 변수를 2로 나눠서 나머지가 0인지 1인지를 구분하면 된다. 짝수의 경우 2로 나누면 나머지가 0이므로, 나머지를 구하는 연산자인 %를 이용하여 '변수 % 2'의 값이 0이라면 짝수로 출력하고, 1이라면 홀수로 출력한다.

 

2) 비트 비교 방식

변수의 홀짝을 비트 값을 이용한 방식으로 구분하려면 최하위 비트가 1인 "1"과 & 연산을 하면 된다. 짝수의 경우 항상 최하위 비트가 0이므로 1과 & 연산을 하면 0이 나오게 된다. 그리고 홀수의 경우 항상 최하위 비트가 1이므로 1과 & 연산을 하면 1이 나온다. 따라서 이를 조건문에 입력하여 결과가 0이면 짝수, 1이면 홀수로 출력한다.

'프로젝트 & 과제 > 3학년' 카테고리의 다른 글

[C언어] 2차원 배열 출력  (0) 2022.01.30
[C언어] 2차원 배열의 합  (0) 2022.01.29
[C언어] 2차원 배열의 주소  (0) 2022.01.27
[C언어] 비트 연산  (0) 2022.01.26
[C언어] 출력 프로그램의 변수공간  (0) 2022.01.25