Лабораторная работа: Системы счисления и представления типов данных
me = min {x: 1 + x > 1}.
Определение 6 . Машинной бесконечностью для данного вещественного типа называется максимальное число того же типа
m¥ = max{x}.
По диапазону типа можно определить m0 , m¥ . Машинный эпсилон определяется размером мантиссы. Так, например, для типа float имеем
m0 = 3,4×10-38 , m¥ = 3,4×1038 , me » 10-8 .
Определение 7 . «Правым соседом» числа x данного вещественного типа назовем минимальное число y того же типа, для которого x < y
«Правый сосед» х = min {y: x < y}.
«Правый сосед» числа х больше самого х на величину равную
me × 10порядок числа х .
Приближенно можно считать, что «правый сосед» числа х » х + me ×x.
Например, для типа float «правый сосед» числа 1010 » 1010 + 10-8 × 1010 = 1010 + 100.
Таким образом, вещественные числа данного типа расположены на числовой прямой неравномерно, чем больше числа, тем больше расстояние между соседними числами. Этот факт следует учитывать при организации циклов: шаг цикла должен быть больше, чем расстояние между соседними числами.
Параметры типа в таблице 4 связаны между собой.
Задача . Вещественный тип doom занимает 15 байт, под порядок отведено 30 бит. Определить остальные параметры этого типа.
Решение . Порядок занимает 30 бит, поэтому минимальное двоичное значение порядка равно -229 . Для перевода этого числа к десятичному основанию решим показательное уравнение -229 = -10х . Логарифмируя по основанию 10, получаем х = 29 ×lg2 » 29 × 0,3010 = 8,729. Таким образом, m0 равен » 0,5 × 10- 161290865,49 » 1,54 × 10- 161290865 .
Мантисса в двоичной системе счисления занимает 90 бит, из которых один бит определяет знак мантиссы. Так как первые знаки двоичной мантиссы равны 0,1 и всегда одинаковы, то под них память не отводится. Поэтому остальные 89 бит мантиссы занимают разряды с номерами от -2 до -90. «Правый сосед» единицы равен 0,100…0012 × 21 , где последняя единица стоит в -90‑ом разряде. Тогда
me = 2-89 = 10-89 × lg (2) = 10-26 , 7 9 = 6,17 ×10-26
8. Кодирование символов
Для кодирования символов с помощью одного байта используется ASCII‑таблица (AmericanStandardCodeforInformationInterchage)
В ASCII‑таблице содержатся различные символы и соответствующие им коды. Например, символу ‘0’ соответствует код 0x30 = 48. Символы и строки хранятся в памяти в виде соответствующих кодов из ASCII‑таблицы. Например, строка «123» в памяти будет храниться в виде последовательности байт 0х31 0х32 0х33 0х00. Иногда строки, у которых 0 является признаком конца, называют asciiz‑строками.
Таблица 5. ASCII – таблица символов
Основная таблица ASCII | Расширенная таблица ASCII |
Символу ‘b’ соответствует «ASCII‑код» 0x62. В десятичной системе это будет 98, а в двоичной – 01100010. Код символа ‘b’ вы можете посмотреть из ASCII‑таблицы. Таблицы символов для разных шрифтов можно найти с помощью программы Таблица Символов: Пуск – Стандартные – Системные утилиты – Таблица Символов).
В русской кодировочной странице 866 буква Ё имеет код 0xF0, а буква ё – код 0хF1.
В языке Си символьные константы обозначаются ‘\xxx’, где ххх – код этого символа, записанный в восьмеричной СС. Иначе говоря,
‘\xxx’ – это код символа, у которого код равен ххх.
Примеры . 1. Количество букв в английском алфавите равно
‘Z’ – ‘A’ + 1.
2. Количество букв в русском алфавите равно ‘Я’ – ‘А’ + 2.
9. Схемы алгоритмов
Для облегчения вычерчивания и нахождения на схеме символов рекомендуется поле листа разбивать на зоны. Размеры зон устанавливают с учетом минимальных размеров символов, изображенных на данном листе. Допускается один символ размещать в двух и более зонах, если размер символа превышает размер зоны. Координаты зоны проставляют: по горизонтали – арабскими цифрами слева направо в верхней части листа; по вертикали – прописными буквами латинского алфавита сверху вниз в левой части листа. Координаты зон в виде сочетания букв и цифр присваивают символам, вписанным в поля этих зон, например: A1, A2, A3, B1, B2, B3 и т.д. Если поле листа не разбито на зоны, символам присваивают порядковые номера.
Линии потока должны быть параллельны линиям внешней рамки схемы. Направления линий потока сверху вниз и слева направо принимают за основные и, если линии потока не имеют изломов, стрелками можно не обозначать. В остальных случаях направление линии потока обозначать стрелкой обязательно.
Сокращения слов и аббревиатуры, кроме стандартных и общепринятых, должны быть расшифрованы в нижней части поля схемы или в документе, к которому эта схема относится. Записи внутри символа должны быть представлены так, чтобы их можно было читать слева направо и сверху вниз, независимо от направления потока. (вид а должен быть прочитан как вид б ).