C의 round 함수
-
round
함수를 사용하여 부동 소수점 숫자를 가장 가까운 정수로 반올림하고 부동 소수점 숫자를 반환합니다 -
lround
함수를 사용하여 부동 소수점 숫자를 가장 가까운 정수로 반올림하고 정수 유형을 반환합니다 -
ceil
함수를 사용하여 부동 소수점 숫자를 인수보다 작지 않은 가장 작은 정수 값으로 반올림하십시오
이 기사에서는 C에서round
기능을 사용하는 방법에 대한 몇 가지 방법을 설명합니다.
round
함수를 사용하여 부동 소수점 숫자를 가장 가까운 정수로 반올림하고 부동 소수점 숫자를 반환합니다
round
함수는<math.h>
헤더 파일에 정의 된 C 표준 라이브러리 수학 유틸리티의 일부입니다. 이 제품군에는round
, roundf
및roundl
의 세 가지 함수가 있습니다. 이러한 함수는 다양한 유형의 부동 소수점 숫자를위한 것이며 각각 해당 유형 값을 반환합니다. math
헤더를 포함한 소스 파일은 라이브러리 코드를 링크하기 위해-lm
플래그를 사용하여 컴파일해야합니다. 다음 예제 코드에서는 여러float
리터럴 값에 대한 변환을 보여주고 결과를 콘솔에 출력합니다. round
는 기본적으로 0에서 멀어집니다. 정수 값-0
,+0
,NaN
또는INFINITY
가 인수로 전달되면 동일한 값이 리턴됩니다.
#include <fenv.h>
#include <math.h>
#include <stdio.h>
#include <stdlib.h>
int main(void) {
printf("round(+2.3) = %+.1f\n", round(2.3));
printf("round(+2.5) = %+.1f\n", round(2.5));
printf("round(+2.7) = %+.1f\n", round(2.7));
printf("round(-2.3) = %+.1f\n", round(-2.3));
printf("round(-2.5) = %+.1f\n", round(-2.5));
printf("round(-2.7) = %+.1f\n", round(-2.7));
exit(EXIT_SUCCESS);
}
출력:
round(+2.3) = +2.0
round(+2.5) = +3.0
round(+2.7) = +3.0
round(-2.3) = -2.0
round(-2.5) = -3.0
round(-2.7) = -3.0
lround
함수를 사용하여 부동 소수점 숫자를 가장 가까운 정수로 반올림하고 정수 유형을 반환합니다
반면lround
함수는 가장 가까운 정수로 반올림하고 적분 값을 반환합니다. 이 패밀리에는 6 개의 함수가 있으며, 그 중 절반은 반올림 된 값으로long int
를 반환하고 나머지는long long int
를 반환합니다. round
패밀리와 유사한lround
는 0에서 멀어 지도록 절반의 실수를 반올림합니다.
#include <fenv.h>
#include <math.h>
#include <stdio.h>
#include <stdlib.h>
int main(void) {
printf("lround(+2.3) = %ld\n", lround(2.3));
printf("lround(+2.5) = %ld\n", lround(2.5));
printf("lround(+2.7) = %ld\n", lround(2.7));
printf("lround(-2.3) = %ld\n", lround(-2.3));
printf("lround(-2.5) = %ld\n", lround(-2.5));
printf("lround(-2.7) = %ld\n", lround(-2.7));
exit(EXIT_SUCCESS);
}
출력:
lround(+2.3) = 2
lround(+2.5) = 3
lround(+2.7) = 3
lround(-2.3) = -2
lround(-2.5) = -3
lround(-2.7) = -3
ceil
함수를 사용하여 부동 소수점 숫자를 인수보다 작지 않은 가장 작은 정수 값으로 반올림하십시오
또는ceil
함수를 사용하여 주어진 부동 소수점 숫자를 인수 자체보다 작지 않은 가장 작은 정수 값으로 반올림 할 수 있습니다. round
함수와 유사하게,이 제품군에도 각각float
,double
및long double
유형에 사용되는ceil
,ceilf
및ceill
의 세 가지 함수가 있습니다. prinf
지정자 문자열에+
기호를 포함하면 반올림 된 인수에 대한 해당 기호가 자동으로 표시됩니다.
#include <fenv.h>
#include <math.h>
#include <stdio.h>
#include <stdlib.h>
int main(void) {
printf("ceil(+2.3) = %+.1f\n", ceil(2.3));
printf("ceil(+2.5) = %+.1f\n", ceil(2.5));
printf("ceil(+2.7) = %+.1f\n", ceil(2.7));
printf("ceil(-2.3) = %+.1f\n", ceil(-2.3));
printf("ceil(-2.5) = %+.1f\n", ceil(-2.5));
printf("ceil(-2.7) = %+.1f\n", ceil(-2.7));
exit(EXIT_SUCCESS);
}
출력:
ceil(+2.3) = 3.000000
ceil(+2.5) = 3.000000
ceil(+2.7) = 3.000000
ceil(-2.3) = -2.000000
ceil(-2.5) = -2.000000
ceil(-2.7) = -2.000000
Founder of DelftStack.com. Jinku has worked in the robotics and automotive industries for over 8 years. He sharpened his coding skills when he needed to do the automatic testing, data collection from remote servers and report creation from the endurance test. He is from an electrical/electronics engineering background but has expanded his interest to embedded electronics, embedded programming and front-/back-end programming.
LinkedIn Facebook