tôi là một chút stucked với lưu trữ số với độ chính xác tối đa có sẵn:Làm thế nào để lưu trữ kép với độ chính xác tối đa
double tmp = 569.232306826889043804840184748172760009765625L;
Tôi đang cố gắng để in nó trên màn hình:
printf("%0.52f\n", tmp);
Và đó là những gì tôi đã có:
569,2323068268890400000000000000000000000000000000000000
Đây có phải là độ chính xác tối đa mà tôi có thể đạt được không?
P.S. Tôi đang sử dụng Visual Studio 2008
Trong C++, bạn có thể sử dụng ['std :: numeric_limits'] (http://en.cppreference.com/w/cpp/types/numeric_limits) để tìm ra giới hạn và độ chính xác. –
Bạn cũng nên nhớ rằng không chỉ có độ chính xác mà còn chính xác. Rất nhiều số thập phân không thể được biểu diễn chính xác với các dấu phẩy động. –
'Tôi là một chút mắc kẹt với lưu trữ số lượng với độ chính xác có sẵn tối đa' Tại sao bị mắc kẹt? Chỉ cần khai báo một 'double' (hoặc' long double'), và ở đó bạn có "độ chính xác tối đa" của bạn. Nếu không, tôi không hiểu hết câu hỏi của bạn. – PaulMcKenzie