Trong C/C++, float và double dùng cho số thực (có phần thập phân). Phân biệt dựa trên độ chính xác (precision).
Double có độ chính xác gấp 2 lần float (double precision).
Chi tiết: double 64-bit (1 bit dấu, 11 bit exponent, 52 bit mantissa) -> 15 chữ số thập phân chính xác. Float 32-bit (8 bit exponent, 23 bit mantissa) -> 7 chữ số thập phân chính xác.
Do double chính xác hơn -> chiếm gấp đôi bộ nhớ float.
Phạm vi: float ±3.40282347E+38F (6-7 chữ số), double ±1.79769313486231570E+308 (15-16 chữ số).
Khi không cần độ chính xác cao, mảng lớn số thực -> float tiết kiệm bộ nhớ. Cần độ chính xác cao -> dùng double.