Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> C++

Độ chính xác của số thực (floating point) trong C++ là bao nhiêu?


Trong C++, kích thước của kiểu số thực là 4 byte (float) hoặc 8 byte (double). Do đó, chúng chỉ có thể lưu trữ được một số chữ số thập phân nhất định. Ví dụ, 1/3 = 0.333333... kéo dài vô tận. Nếu lưu vào biến kiểu float, nó sẽ chỉ giữ lại một số chữ số có ý nghĩa. Giá trị mặc định là 6 chữ số. Vì vậy, thường thì số thực trong C++ hiển thị tối đa 6 chữ số thập phân.

Chúng ta có thể thay đổi độ chính xác hiển thị bằng hàm setprecision nằm trong thư viện <iomanip>. Hãy xem ví dụ sau để hiểu rõ hơn.

Ví dụ minh họa

#include <iostream>
#include <iomanip>
using namespace std;

int main() {
    double x = 2.3654789;
    cout << "In 3 chữ số thập phân: " << setprecision(3) << x << endl;
    cout << "In 2 chữ số thập phân: " << setprecision(2) << x << endl;
    cout << "In 7 chữ số thập phân: " << setprecision(7) << x << endl;
}

Kết quả

In 3 chữ số thập phân: 2.365
In 2 chữ số thập phân: 2.37
In 7 chữ số thập phân: 2.3654789