Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> C++

ฟังก์ชัน lrint() และ llrint() ใน C++

ในส่วนนี้จะพูดถึง lrint() และ llrint() ใน C++ เริ่มจาก lrint() ก่อน

ฟังก์ชัน 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); // กำหนดทิศทางปัดเป็น DOWNWARD
  res = lrint(x);
  cout << "Downward rounding of " << x << " is " << res << endl;
}

ผลลัพธ์

Downward rounding of 40.0235 is 40

ฟังก์ชัน llrint() ใช้ปัดเศษค่าทศนิยมให้เป็นค่าเต็มโดยใช้โหมดการปัดปัจจุบัน โหมดปัจจุบันกำหนดโดย fesetround()

llrint() รับค่า double, float หรือ integer และคืนค่า long long int โดยปัดส่วนทศนิยมเป็นจำนวนเต็ม

ตัวอย่าง

#include <cfenv>
#include <cmath>
#include <iostream>
using namespace std;

main() {
  double a;
  long int res;
  fesetround(FE_UPWARD); // กำหนดทิศทางปัดเป็น UPWARD
  a = 40.3;
  res = llrint(a);
  cout << "Upward rounding of " << a << " is " << res << endl;
  fesetround(FE_DOWNWARD); // กำหนดทิศทางปัดเป็น 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