2010-08-13 31 views

Trả lời

2

số nguyên 64-bit (long, int64_t, unsigned long, uint64_t) nên làm như lừa, hoặc nếu bạn cần số thập phân, double hoặc long double.

+3

Nếu bạn cần số thập phân bạn không may mắn trong C thuần; 'double' và' long double' là các loại dấu phẩy động, không phải là các số thập phân. – Joey

+0

No. I * đã * đề cập đến số nguyên 64 bit quá, có thể chứa hơn 12 chữ số ngay cả khi đã ký! –

+0

Tôi nên sử dụng ví dụ nào khi in chúng? "% ld" đã lâu như tôi nhớ? – DesperateCoders

0

Trong khi tìm kiếm một thư viện gọi bignum tôi đã tìm thấy này wiki page

4

Nếu bạn có một kiểu số nguyên 64-bit, tôi muốn đi với điều đó, vì nó cung cấp cho bạn (18 đầy đủ chữ số) khoảng:

−9,223,372,036,854,775,808 to 
+9,223,372,036,854,775,807 

Đối với các tác vụ khác (thậm chí là số nguyên lớn hơn hoặc giá trị dấu phẩy động lớn), tôi sử dụng thư viện đa chính xác GNU. Đó là màn trình diễn ấn tượng.

1

bạn cũng có thể sử dụng "unsigned long long" với định dạng specifier "llu". Nó hoạt động tốt cho 12 chữ số trong C.

unsigned long long i=600851475143; 
printf("%llu",i); 
Các vấn đề liên quan