나눗셈과 나머지 계산 함수

함수 div와 ldiv에 대한 구조체(div_t, ldiv_t)는 헤더 파일 <stdlib.h>에 정의되어 있다.

구분

함수 원형과 인자

함수 설명

나눗셈 나머지 함수

div_t div(int n, int denom)

두 정수로 나눗셈을 하고 몫과 나머지를 구조체(div_t)로 반환

ldiv_t ldiv(long n, long denom)

long 형 정수로 나눗셈을 하고 몫과 나머지를 구조체(ldiv_t)로 반환

double modf(double x, double *inptr)

실수 x를 정수 부분과 실수 부분으로 분해

double fmod(double x, double y)

실수 x를 실수 y로 나눈 나머지를 계산


예제

 

 

#include<stdio.h>

#include<stdlib.h>

#include<math.h>

 

int main(void)

{

        div_t ix;

        ldiv_t lx;

        double num=3674654.568, frct, intg;

        double x1=7.0, y1=2.0;

 

        ix=div(10,4);

        printf("10/4의결과몫: %d, 나머지: %d\n", ix.quot, ix.rem);

 

        lx=ldiv(100L, 30L);

        printf("100/30의결과몫: %ld. 나머지: %ld\n", lx.quot, lx.rem);

 

        frct=modf(num, &intg);

        printf("%lf의정수%lf, 실수: %lf \n", num, intg, frct);

        printf("%lf/%lf의나머지: %lf\n", x1, y1, fmod(x1, y1));

 

        return 0;

}





정수 부분과 소수 이하 부분을 분리(modf함수 자세히)

modf

함수 원형

double modf(double x, double *inptr);

함수 인자

x, *inptr

double x는 분해의 대상이 되는 실수

inptr은 정수 부분을 반환받는 변수

반환 값

정수 부분을 제외한 실수를 반환


예제

 

 

#include<stdio.h>

#include<math.h>

 

int main(void)

{

    double num=334824.123, frct, intg;

 

    frct=modf(num, &intg);

    printf("입력된실수: %lf\n", num);

    printf("정수부분   : %lf\n", intg);

    printf("소수부분   : %lf\n", frct);

 

    return 0;

}

출처 : http://bestheroz.blog.me/109772856

'man' 카테고리의 다른 글

tty_ioctl(4) - Linux man page  (0) 2009.07.27
init_bh, remove_bh, mark_bh, disable_bh, enable_bh  (0) 2009.07.26

WRITTEN BY
RootFriend
개인적으로... 나쁜 기억력에 도움되라고 만들게되었습니다.

,