Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лекции программирование / ПО Программирование Лекция 7-8 (9-10) Осень.pptx
Скачиваний:
32
Добавлен:
27.03.2016
Размер:
827 Кб
Скачать

Машинный эпсилон

Порядок плавающего числа 1.0 равен

нулю. При сложении 1.0 с числом ε

производится выравнивание порядка

путем многократного сдвига мантиссы

числа ε вправо и увеличения его порядка

на 1. Поскольку все разряды числа ε

должны в результате выйти за пределы

разрядной сетки, должно быть выполнено

53 сдвига. Порядок числа ε после этого

должен стать равным порядку числа 1.0,

т.е. нулю.

Машинный эпсилон

Следовательно, изначально порядок числа

ε должен быть равным -53:

где m - число в диапазоне от единицы до

двух. Таким образом, величина машинного

эпсилона составляет примерно .

Приблизительно точность вычислений

составляет 16 десятичных цифр.

Запись вещественных констант

 

Вещественные константы записываются в

двух формах - с фиксированной

 

 

десятичной точкой или в

 

 

 

экспоненциальном виде. В первом случае

точка используется для разделения целой

и дробной частей константы. Как целая,

 

так и дробная части могут отсутствовать.

Примеры: 1.2,

0.725,

1.,

.35,

0.

Запись вещественных констант

Экспоненциальная форма записи вещественной константы

содержит знак, мантиссу и десятичный порядок

(экспоненту). Мантисса - это любая положительная

вещественная константа в форме с фиксированной точкой

или целая константа. Порядок указывает степень числа 10,

на которую домножается мантисса. Порядок отделяется от

мантиссы буквой «e» (от слова exponent), она может быть

прописной или строчной. Порядок может иметь знак плюс

или минус, в случае положительного порядка знак плюс

можно опускать.

 

Примеры:

 

1.5e+6

константа эквивалентна

1500000.0

1e-4

константа эквивалентна

0.0001

-.75E3

константа эквивалентна

-750.0

Символьные переменные

Значением символьной переменной

является один символ из фиксированного

набора. Такой набор обычно включает

буквы, цифры, знаки препинания, знаки

математических операций и различные

специальные символы (процент,

амперсанд, звездочка, косая черта и др.).

В компьютере символы представляются их

целочисленными кодами в некоторой

фиксированной кодировке. Кодировка

определяется тремя параметрами:

Символьные переменные

Диапазон значений кодов. Например, самая

распространенная в мире кодировка ASCII (от

слов American Standard Code of Information

Interchange - Американский стандартный код

обмена информацией) имеет диапазон

значений кодов от 0 до 127, т.е. требует семь

бит на символ. Большинство современных

кодировок имеют диапазон кодов от 0 до 255,

т.е. один байт на символ.

Кодировка Unicode использует коды в

диапазоне от 0 до 65535, т.е. 2 байта на символ.

Символьные переменные

Множество изображаемых символов.

ASCII содержит буквы латинского алфавита,

в западноевропейской кодировке к

символам ASCII добавлены буквы с

умлаутами и акцентами, дополнительные

знаки препинания, в частности, испанские

перевернутые вопросительные и

восклицательные знаки, и другие символы

европейских языков, основанных на

латинской графике. Любая из русских

кодировок содержит кириллицу;

Символьные переменные

Отображением множества кодов на

множество символов. Русские кодировки

КОИ-8 (Код обмена информацией

восьмибитовый) и «Windows CP-1251»,

традиционно используемые в

операционных системах Unix и MS

Windows, имеют один и тот же диапазон

кодов и один и тот же набор символов, но

отображения их различны (одни и те же

символы имеют разные коды в кодировках

КОИ-8 и Windows).

Символьные переменные

Наиболее распространенные кодировки в русскоязычных программах:

КОИ-8 - восьмибитовая ASCII-совместимая кодовая страница, разработанная для кодирования букв кириллических алфавитов;

Windows-1251 (CP-1251) - стандартная 8-битной кодировка для всех русских версий Microsoft Windows.

Использование различных кодировок приводит к необходимости перекодировки файлов, сообщений, веб-страниц при переносе из одной системы в другую.

Символьные переменные

Кодировка Unicode призвана унифицировать

использование символов. Однако большинство

существующих компьютерных программ

приспособлено к представлению одного символа в

виде одного байта. В настоящее время

используется промежуточное решение:

компьютерные программы работают с внутренним

представлением символов в кодировке Unicode

(такое решение принято в языках Java и C#). При

выводе или записи в файл символы Unicode

приводятся к однобайтовой кодировке в

соответствии с текущей языковой установкой.