나눗셈과 나머지 계산 함수
함수 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
개인적으로... 나쁜 기억력에 도움되라고 만들게되었습니다.