В чем разница между float, double и long double
Написал microsin   
02.07.2009

На 32-разрядной платформе ARM, в среде разработки IAR EWB for ARM применены следующие типы float, double и long double.

float       - 32-битное число с плавающей точкой. Диапазон чисел от ±1.18E-38 до ±3.39E+38, 7 десятичных разрядов, 8 бит показателя степени (экспонента) и 23 бита основания степени (мантисса).

double      - 64-битное число с плавающей точкой. Диапазон чисел от ±2.23E-308 to ±1.79E+308, 15 десятичных разрядов, 11 бит показателя степени (экспонента) и 52 бита основания степени (мантисса).

long double - абсолютно то же самое, что и double.

Операции с числами в формате с плавающей точкой весьма неэффективны по затратам кода, памяти и процессорного времени, поэтому таких чисел нужно по возможности избегать, или хотя бы использовать float вместо double.

Информация получена из документа справки "IAR C/C++ Development Guide" EWARM_DevelopmentGuide.ENU.pdf, раздел "FLOATING-POINT TYPES".

[См. также]

1. Описание стандартных функций cmath (math.h) http://www.cplusplus.com/reference/clibrary/cmath/.

2. Как избавиться от чисел с плавающей точкой.

Последнее обновление ( 02.07.2009 )