Учебная работа № 1768. Узел преобразования чисел
ВВЕДЕНИЕ
Режим работы данного узла преобразование чисел, поэтому
стоит поговорить о самих числах и их представлении в ЭВМ.
В ЭВМ используются двоичные числа, которые не привычны
обыкновенному человеку, привыкшему к арабским десятичным
числам. Но для ЭВМ операции и само хранение двоичных чисел бо
лее удобно. Двоичные числа это числа, составленные из 0 и 1.
Например:
Десятичные числа Двоичные числа
0 0
1 1
2 10
3 11
4 100
5 101
6 110
и т.д.
С физической точки зрения, 1 можно представить как неко
торый импульс/уровень напряжения, а 0 как отсутствие таково
го. Тогда, устанавливая некоторый порог напряжения, можно все,
что выше этого порога считать 1, а что ниже 0. С десятичными
числами пришлось бы поступить сложнее пришлось бы вводить
несколько пороговых уровней и на порядок усложнились бы все
узлы и блоки ЭВМ. Поэтому в современных ЭВМ используются дво
ичные числа и двоичная арифметика.
Также в современных ЭВМ применяется шестнадцатиричная
арифметика. Это связано с тем, что очень легко выполнить пре
образование из шестнадцатиричной системы исчисления в двоич
ную и наоборот. Одна шестнадцатиричная цифра представляется
четыремя двоичными, например:
Десятичные Двоичные Шестнадцатиричные
1 0001 1
9 1001 9
10 1010 A
11 1011 B
12 1100 C
15 1111 F
и т.д.
Принятая минимальная единица информации в ЭВМ 1 бит.
Один бит равен одной двоичной цифре. Более крупной единицей
является байт. Один байт равен 8 битам. Существуют и более
крупные единицы слово (2 байта), двойное слово (4 байта),
килобайт (1024 байта), мегобайт (1024 Кбайта) и т.д.
В данном курсовом, все операции производятся с восьмираз
рядными числами, т.е. с числами, размером 1 байт.
Немного надо сказать о представлении чисел в ЭВМ.
Числа делятся на целые и вещественные. Это деление, ко
нечно весьма условно, но хорошо подходит для описания хранения
и операций над числами в ЭВМ. Чтобы сильно не углубляться в
общности, рассмотрим конкретный вариант, используемый в данном
курсовом размер чисел 8 байт.
Как будут выглядеть целые числа показано в вышеприве
денных примерах. Как же будут выглядеть вещественные числа?
Существует 3 наиболее распространенных варианта кодирова
ния: прямой код, обратный код и дополнительный код.
Далее введем одно обозначение. Если после цифры стоит
«d» это десятичная цифра, «b» двоичная, а «h» шестнадца
тиричная.
Прямой код это так сказать «естественный» код, то есть
1d=0001b, 10d=1010b, 15d=1111b и т.д.
Обратный код образуется из прямого путем инвертирования
всех разрядов прямого кода, например 1d=0001b в прямом=1110b в
обратном, 10d=1010b в прямом=0101b в обратном коде.
Дополнительный получается из обратного, путем прибавления
к младшему разряду 1.
Обычно, прямой код используется для хранения положитель
ных чисел, а обратный и дополнительный для отрицательных чи
сел.
В нашем курсовом, вся работа с числами ведется в прямом
коде.
Но выше мы рассматривали только целые числа, а как посту
пить с дробными?
Существует два возможных варианта хранения в формате с
фиксированной точкой и в формате с плавающей точкой. Покажем
«в живую» эти форматы на примере:
1. С фиксированной точкой:
5.8 d = 0 0101 110 b
T T T
¦ ¦ L цифры после запятой (.8)
¦ L цифры до запятой (5.0)
L знаковый разряд (0=’+’, 1=»)
Но таким образом большие вещественные числа хранить не
удобно и неэффективно. Поэтому используется второй вариант
хранения:
2. С плавающей точкой.
5.8 d = 0 1001 011 b
T T T
¦ ¦ L порядок числа
¦ L мантисса числа
L знаковый разряд
То есть в формате с плавающей точкой хранится 2 числа
порядок и мантисса. Так как порядок может быть и отрицатель
ным, то приняли еще одно правило: порядок всегда смещенный. То
есть если порядок колеблется от +128