2.2.4 Không phải chỉ có int là kiểu số nguyên (4)

longshort không thể được sử dụng với float, nhưng có một kiểu dữ liệu là double. Các biến kiểu double khác với các biến kiểu float, không chỉ khác về phạm vi mà còn ở độ chính xác.

Có nghĩa là gì ? Vâng, các dữ liệu được lưu trữ trong các biến floating-point có độ chính xác hữu hạn– nói cách khác, chỉ một số chữ số chính xác được lưu trữ trong các biến. Ví dụ, chúng ta hy vọng rằng giá trị:

1111111111111111111.111111111111111111111

sẽ được lưu trữ bởi một kiểu dữ liệu cụ thể của máy tính như sau:

1111111131851653120.000000

Chúng ta có thể nói rằng biến (chỉ) lưu 8 chữ số chính xác. Điều này nằm trong độ chính xác mong đợi của số float dài 32-bit. Bằng cách sử dụng double (mà thường dài 64-bit), sẽ đảm bảo rằng biến sẽ lưu được nhiều số hơn chính xác hơn (từ 15 đến 17). Đấy chính là nguồn gốc của cái tên double – độ chính xác của nó gấp đôi so với float.