Computer >> 컴퓨터 >  >> 프로그램 작성 >> C++

C++의 lrint() 및 llrint()

<시간/>

이 섹션에서는 C++에서 lrint() 및 llring()을 볼 것입니다. 먼저 lint()에 대해 논의합시다.

lrint() 함수는 현재 반올림 모드를 사용하여 인수에서 주어진 분수 값을 정수 값으로 반올림하는 데 사용됩니다. 현재 모드는 fesetround()를 사용하여 결정됩니다.>=

이 lrint() 함수는 입력 매개변수로 double, float 또는 integer 값을 취하고 소수 부분을 정수 부분으로 반올림하여 long int 값을 반환합니다.

예시

#include <cfenv>
#include <cmath>
#include <iostream>
using namespace std;
main() {
   int x = 40;
   long int res;
   fesetround(FE_DOWNWARD); // setting rounding direction to DOWNWARD as downward
   res = lrint(x);
   cout << "Downward rounding of " << x << " is " << res << endl;
}

출력

Downward rounding of 40.0235 is 40

llrint() 함수는 현재 반올림 모드를 사용하여 인수에서 주어진 분수 값을 정수 값으로 반올림하는 데 사용됩니다. 현재 모드는 fesetround()를 사용하여 결정됩니다.

이 lrint() 함수는 입력 매개변수로 double, float 또는 integer 값을 취하고 소수 부분을 정수 부분으로 반올림하여 long long int 값을 반환합니다.

예시

#include <cfenv>
#include <cmath>
#include <iostream>
using namespace std;
main(){
   double a;
   long int res;
   fesetround(FE_UPWARD); //set rounding direction to upward
   a = 40.3;
   res = llrint(a);
   cout << "Upward rounding of " << a << " is " << res << endl;
   fesetround(FE_DOWNWARD); //set rounding direction to downward
   a = 40.88;
   res = llrint(a);
   cout << "Downward rounding of " << a << " is " << res << endl;
}

출력

Upward rounding of 40.3 is 41
Downward rounding of 40.88 is 40