IT/C C++

[C/C++] 정수, 실수 나머지 구하기

크몽 '경매하는 개발자' 님의 경매/부동산/IT/사업 채널 2022. 5. 20. 10:41
반응형

[C/C++] 정수, 실수 나머지 구하기

반응형

 

 


1. 정수 나머지 구하기

 

→ a % b (a 나누기 b의 나머지를 계산)

 

예)

#include <stdio.h>

int main()
{
    printf("%d\n", 1 % 3);    // 1: 1을 3으로 나누면 몫은 0 나머지는 1
    printf("%d\n", 2 % 3);    // 2: 2를 3으로 나누면 몫은 0 나머지는 2
    printf("%d\n", 3 % 3);    // 0: 3을 3으로 나누면 몫은 1 나머지는 0
    printf("%d\n", 4 % 3);    // 1: 4를 3으로 나누면 몫은 1 나머지는 1
    printf("%d\n", 5 % 3);    // 2: 5를 3으로 나누면 몫은 1 나머지는 2
    printf("%d\n", 6 % 3);    // 0: 6을 3으로 나누면 몫은 2 나머지는 0

    return 0;
}
1
2
0
1
2
0

 


2. 실수 나머지 구하기

반응형

 

필요 헤더파일 : <math.h>

 

→ double 자료형 : fmod(x, y)
→ float 자료형 :  fmodf(x, y)

→ long double 자료형 : fmodl(x, y)

 

자료형 차이는 아래 글 참고

[C/C++] 자료형의 크기 및 표현 범위

 

예)

#include <stdio.h>
#include <math.h>    // fmod 함수가 선언된 헤더 파일

int main()
{
    // 실수의 나머지 연산은 fmod, fmodf, fmodl 함수를 사용

    double num1 = 10.843;
    double num2 = 3.79;
    printf("%f\n", fmod(num1, num2));    // 3.263000

    float num3 = 10.843f;
    float num4 = 3.79f;
    printf("%f\n", fmodf(num3, num4));    // 3.263000

    long double num5 = 10.843l;
    long double num6 = 3.79l;
    printf("%Lf\n", fmodl(num5, num6));    // 3.263000

    return 0;
}
반응형

 

3.263000
3.263000
3.263000
반응형