Урок 3.1.2. Вещественные константы

3.1.2. Вещественные константы

Вещественные константы представляют собой десятичные дробные

числа и могут быть записаны в двух формах:

- форма с точкой;
- форма с порядком.

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

 <целая_ часть>.<дробная часть>

Если знак константы опущен, то она положительна. Примеры записи вещественных констант в форме с точкой:

- 560.23 + 384. 62.4 0.8 .01

Обратим внимание на то, что целое десятичное число может быть записано в виде вещественной константы, например, 5.0 . Вещественная константа в форме с порядком удобна для записи очень больших или очень малых чисел. Известно, что любое число можно записать в виде произведения на основание системы счисления в n-ой степени, например:

2 500 000 = 2,5 * 10^6
0,0000025 = 2,5 * 10^-6

В Си, как впрочем и в большинстве других языков программирования, для таких записей используются вещественные константы в форме с порядком, имеющие вид:

< мантисса>Е <порядок> или <мантисса>е<порядок>

В этих обозначениях в качестве мантисса  может быть записана либо десятичная константа без модификатора, либо вещественная константа в форме с точкой. В качестве порядок записывается целая десятичная константа, возможно со знаком, определяющая степень числа 10. Если знак порядка опущен, то подразумевается знак + . Примеры записи вещественных констант в форме с порядком: Запись в форме Десятичное с порядком значение

0.653412Е3       653,412

- 3.73Е -1           -0,373

+ 64.2е +02      6420,0

- 87Е2                 -8700,0

.123е3                123

4037е -5            0,04037

Вещественные константы в форме с точкой и вещественные константы в форме с порядком имеют машинное представление характерное для нормализованных чисел с плавающей точкой и имеют тип double (двойная точность), занимая в памяти 8 байт для диапазона значений приблизительно от 1.7е-308 до 1.7е+308. Однако, если вещественная константа лежит в диапазоне от 3.4е-4931 до 1.1е+4931, то компилятор выделяет для ее машинного представления 10 байт памяти и она имеет тип long double (длинная двойная точность).

Программист имеет возможность явно указать компилятору сколько байт выделить для представления вещественной константы: Если к константе приписан модификатор L или l, то выделяется 10 байт независимо от значения вещественной константы. Например, 5.25L и 8.074e+32L Если к константе приписан модификатор F или f, то она имеет тип float (плавающий) и ей выделяется 4 байта, но при этом допустимый диапазон константы от 3.4е-38 до 3.4е+38. Например, 5.3F и 1.7e-6f

Компилятор Си к вещественным константам относится не "очень строго". Например, целую часть вещественной константы в форме с точкой можно записать восьмеричными или шестнадцатеричными цифрами. Компилятор не фиксирует ошибку, однако истинное машинное значение константы в этом случае не предсказуемо. Аналогично для константы в форме с точкой мантиссу и порядок можно задать восьмеричными целыми константами, но порядок компилятором воспринимается как десятичный. Поэтому советуем пользоваться только десятичными вещественными константами.

Таблица 4.2 характеризует вещественные константы.

Тип Диапазон значений Память (байты) Число значащих цифр
float 3.4е-38 до 3.4е+38 4  5 - 6
double 1.7е-308 до 1.7е+308 8  15
long double 3.4е-4931 до 1.1е+4931 10  19
рассказать друзьям и получить подарок

Оставить комментарий

Ваш email не будет опубликован. Обязательные поля отмечены *

Вы можете использовать это HTMLтеги и атрибуты: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

Translate Переводчик

Подписка на новости

SmartResponder.ru
Ваш e-mail: *
Ваше имя: *

Хостинг для Wordpress сайтов