Computer >> Máy Tính >  >> Lập trình >> lập trình C

Sự khác biệt giữa float và double trong C / C ++

Như chúng ta biết rằng trong C / C ++, chúng ta yêu cầu kiểu dữ liệu float và double để biểu diễn các số Dấu phẩy động, tức là các số có phần thập phân với chúng. trong số họ.

Nói một cách đơn giản, có thể nói rằng double có độ chính xác cao hơn gấp 2 lần so với so sánh với float, có nghĩa là kiểu dữ liệu kép có độ chính xác gấp đôi so với kiểu dữ liệu float.

Về số lượng chính xác, có thể nói rằng double có độ chính xác 64 bit cho số dấu phẩy động (1 bit cho dấu, 11 bit cho số mũ và 52 * bit cho giá trị), tức là double có 15 chữ số thập phân của độ chính xác Trong khi float có độ chính xác 32 bit cho số thực (8 bit cho số mũ và 23 * cho giá trị), tức là float có độ chính xác 7 chữ số thập phân.

Vì double có độ chính xác cao hơn so với flot nên rõ ràng là nó chiếm gấp đôi bộ nhớ so với chiếm bởi kiểu dữ liệu float.

Ngoài ra, phạm vi của cả hai kiểu dữ liệu có thể được biểu thị bằng ± 3,40282347E + 38F, tức là 6-7 chữ số có nghĩa cho float và ± 1,79769313486231570E + 308, tức là 15-16 chữ số có nghĩa cho double.

Trên cơ sở những điểm trên, chúng ta có thể khẳng định rằng trong trường hợp không cần độ chính xác cao và chương trình chỉ cần một dãy số thập phân khổng lồ được lưu trữ float là một cách lưu trữ dữ liệu hiệu quả về chi phí và tiết kiệm bộ nhớ trong khi cần độ chính xác cao hơn. tăng gấp đôi.