
- •Технология программирования линейных процессов
- •Постановка задачи
- •Формирование математической модели
- •Выбор метода решения
- •Составление алгоритма решения
- •Программирование задачи
- •Ключевые слова
- •Константы
- •Целые константы
- •Вещественные константы
- •Текстовые константы
- •Переменные
- •Правила записи и использования оператора
- •Функции. Вызовы функций
- •Арифметические выражения
- •Правила записи и вычисления арифметических выражений
- •Оператор присваивания
- •Правила составления и использования
- •Операторы ввода-вывода
- •Оператор ввода
- •Правила составления и выполнения оператора ввода
- •Оператор вывода на дисплей
- •Правила составления и выполнения оператора вывода
- •Оператор вывода в поток
- •Организация ввода-вывода переменных
- •Ввод переменных
- •Вывод переменных
- •Заголовок программы
- •Тело программы
- •Поэлементная структура простейшей программы
- •Предмашинная подготовка задачи определения площади круга
- •Постановка задачи
- •Создание математической модели задачи
- •Выбор метода решения
- •Составление алгоритма решения
- •Программирование задачи
- •Заключение
- •Вопросы для контроля
Вещественные константы
Вещественные константы соответствуют дробным (рациональным) числам в математике.
В математике известны две формы представления дробных чисел: естественная (с фиксированной запятой) и экспоненциальная (с плавающей запятой).
Структура чисел с фиксированной запятой:
, где m – одна из десятичных цифр дробного числа (0-9);
, – разделитель целой и дробной части числа;
– признак положительности (отрицательности);
[ ] – признак необязательности содержимого.
Примеры десятичных чисел с фиксированной запятой:
34,5; -198,67; 0,0042; +1200,0.
Числа с плавающей запятой могут быть представлены обобщённой и развёрнутой структурами.
Обобщённая структура чисел с плавающей запятой:
, где M – мантисса числа;
10 – основание системы счисления;
Р – порядок числа;
– признак положительности (отрицательности);
[ ] – признак необязательности содержимого.
Представив мантиссу M и порядок P детализовано, получим развёрнутую структуру чисел с плавающей запятой:
, где m – одна из десятичных цифр мантиссы числа (0-9);
, – разделитель целой и дробной части числа;
10 – основание системы счисления;
n – одна из десятичных цифр порядка (0-9);
– признак положительности (отрицательности);
[ ] – признак необязательности содержимого.
Примеры десятичных чисел с плавающей запятой:
0,3·105 ; +12,72·10-8; -0,0004·1012 ; 0,33·10+3 ; 45,0·10-4 .
Первый сомножитель каждого числа составляет мантисса, показатель степени второго – порядок.
Проанализировав развёрнутую структуру чисел с плавающей запятой, можно сделать вывод о её универсальности. Действительно, при нулевом показателе степени второй сомножитель становится равным единице (100 = 1) и может быть опущен. Следовательно, число с плавающей запятой приобретает структуру числа с фиксированным разделителем. Данная закономерность используется для представления вещественных констант в Си/Си++.
Вещественная константа (константа с плавающей точкой) – аналог дробного (рационального) десятичного числа в математике.
Структуры вещественной константы:
,
где m – одна из десятичных цифр мантиссы числа (0-9);
. – разделитель целой и дробной части мантиссы;
E (e) – обозначение основания десятичной системы счисления;
n – одна из десятичных цифр порядка (0-9);
– признак положительности (отрицательности);
[ ] – признак необязательности содержимого.
Структура позволяет
формировать константы с фиксированной
(без экспоненты) и плавающей точкой (с
экспонентой). Для констант с фиксированной
точкой составляющая
не указывается. Для констант с плавающей
точкой наличие элемента
обязательно.
-
Внимание! Одна из составляющих мантиссы обязательна в любом из вариантов представления вещественной константы.
Примеры записи вещественных десятичных констант представлены в табл. 3.3.
Таблица 3.3
Числа в математике |
Константы в Си/Си++ |
46,2 |
46.2 |
-135,0 |
-135.0; -135. |
+0,76 |
+0.76; 0.76; +.76; .76 |
|
3.2E7; 3.2e7 |
|
-0.05E4; -0.05e4; -.05E4; -.05e4 |
|
120.0E11; 120.0e11; 120.E11; 120.e11; 120E11; 120e11 |
|
0.91E-6; 0.91e-6; .91E-6; .91e-6 |
|
+2E+5; +2e+5; 2E5; 2e5; 2.E5; 2.e5 |
-
Внимание! Запрещается внутри константы использовать пробелы.
Вещественные константы, как и числа, оцениваются по двум параметрам: диапазону и точности представления.
Диапазон представления констант – разность максимального и минимального значений порядка.
Точность представления констант – определение количества разрядов мантиссы.
В Си/Си++ предусмотрены вещественные константы двух вариантов точности – обычной и двойной.
Вещественные константы обычной точности хранятся в четырёхбайтовых полях памяти в двоичном виде. Первый байт отводится под показатель степени, остальные три – для записи мантиссы.
Следовательно, десятичные константы обычной точности могут содержать не более трёх разрядов порядка (максимум 127) и 7-8 значащих цифр мантиссы.
По форме записи константы могут быть нормализованными или ненормализованными.
Нормализованная
– константа
с мантиссой в диапазоне
или
.
В Си/Си++ используется второй вариант нормализации. Реальный диапазон представления вещественных констант обычной точности составляет ±3.4000000E±38.
Примеры нормализованных констант:
2.3Е2 +7.0Е-4 -1.08Е+6
Вещественные константы двойной точности хранятся в восьмибайтовых полях памяти.
Первые полтора байта отводится под показатель степени, остальные (6,5) для записи мантиссы. Следовательно, десятичные константы двойной точности могут содержать не более четырёх разрядов порядка (максимум 2047) и 16–17 значащих цифр мантиссы.
Реальный диапазон представления нормализованных вещественных констант двойной точности составляет ±1.700000000000000E±308.
-
Внимание! Автоматически вещественные константы помещаются в восьмибайтовые поля памяти, т.е. представляются с двойной степенью точности.
Использование констант с обычной точностью (по желанию) требует явного указания. Отличительный признак константы обычной точности – буква F (f) в конце константы.
Структуры констант с обычной точностью имеют вид:
Примеры явного указания обычной точности для вещественных десятичных констант:
101.037F, -15.2f, 0.46578E-2f, +0.000123e6f, -55.3e-12F