Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
mL_3_Osn_tip_07.doc
Скачиваний:
3
Добавлен:
29.04.2019
Размер:
154.62 Кб
Скачать

Переменные вещественного типа

В языке Си (С++) есть три формы внутреннего представления вещественных чисел (чисел с дробной частью):  float ,  double ,  long double .

Вещественные числа представляются в виде мантиссы М и порядка Р, т.е. A = M*2Р.

Числа типа  float  – это вещественные числа одинарной точности, занимают в памяти  4  байта ( 32  бита) и могут принимать значения от 3.4*10–38 до 3.4*10+38 (можно ввести или вывести только  7  значащих десятичных цифр). Мантисса занимает  23  бита, а порядок  8  бит.

Зн

Р(8 бит)

M (23 бита)

float

31

30       23

22                     0

Числа типа  double  – это вещественные числа двойной точности, занимают в памяти  8  байт ( 64  бита) и могут принимать значения от 1.7*10–308 до 1.7*10+308 (можно ввести или вывести только  15  значащих цифр). Мантисса занимает  52  бита, а порядок  11  бит.

Зн

P(11 бит)

M (52 бита)

double

63

62        52

51                   0

Числа типа  long double  – это вещественные числа увеличенной точности, занимают в памяти  10  байт ( 80  бит) и могут принимать значения от 3.4*10 –4932 до 3.4*10+4932 (можно ввести или вывести  19  значащих цифр). Мантисса занимает  63  бита, а порядок  15  бит.

Зн

P (15 бит)

M (63 бита)

long double

79

78        64

63                   0

Определение переменных этих типов выполняется с помощью записи:

float d; double e; long double g; float d1=5.27;

Константы вещественного типа

Компилятор распознает вещественные константы по “внешнему виду”.

Константа с плавающей точкой может состоять из следующих частей: знак числа, целая часть, десятичная точка, дробная часть, признак экспоненты  е ( Е ) (порядка), знак порядка, показатель степени (значение порядка обозначается десятичной константой), суффикс  F ( f ) или  L  ( l ).

При записи вещественной константы могут отсутствовать: знак числа и порядка (по умолчанию +), целая или дробная части .5, 33., десятичная точка 2е+6 или признак экспоненты с показателем степени 2.6, суффикс.

По умолчанию вещественные константы представляются как тип  double . Если необходимо по какой-либо причине, чтобы числа представлялись в виде  float , то записываем с суффиксом  f  (13.3f), а если  long double , то с суффиксом  L  (1.5L).

float g1=-3.14f;  double g2=-3.1415E-45;  long double g3=3.141592L;

При выводе на экран (печать) или при вводе с клавиатуры чисел с плавающей точкой используются следующие форматеры (спецификаторы формата):

 float   %f   %e   %g 

 double   %lf   %le   %lg 

  long double   %Lf   %Le   %Lg 

Например:

scanf(“%f %lf %Lf”,&g1,&g2,&g3);

printf(“g1=%f g2=%lf g3=%Lf\n”,g1,g2,g3);

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]