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

ความแม่นยำของจุดลอยตัวใน C ++ คืออะไร?


ใน C++ ขนาดของเลขทศนิยมคือ 4 ไบต์หรือ 8 ไบต์ จึงสามารถเก็บทศนิยมได้ไม่กี่ตำแหน่ง ตัวอย่างเช่น 1/3 =0.333333…… จนถึงอนันต์ หากเราเก็บไว้ในตัวแปรประเภทลอยตัว มันจะเก็บตัวเลขที่สำคัญบางตัว ค่าเริ่มต้นคือ 6 ดังนั้นโดยปกติตัวเลขทศนิยมใน C++ สามารถแสดงทศนิยมได้สูงสุด 6 ตำแหน่ง

เราเปลี่ยนขนาดของความแม่นยำได้โดยใช้ setprecision มีอยู่ในไฟล์ส่วนหัว iomanip มาดูตัวอย่างกันเพื่อให้ได้แนวคิด

โค้ดตัวอย่าง

#include <iostream>
#include <iomanip>
using namespace std;
int main() {
   double x = 2.3654789d;
   cout << "Print up to 3 decimal places: " << setprecision(3) << x << endl;
   cout << "Print up to 2 decimal places: " << setprecision(2) << x << endl;
   cout << "Print up to 7 decimal places: " << setprecision(7) << x << endl;
}

ผลลัพธ์

Print up to 3 decimal places: 2.365
Print up to 2 decimal places: 2.37
Print up to 7 decimal places: 2.3654789