- •Тверской государственный технический университет
- •Регистрация информации в современных эвм.
- •Предисловие
- •Глава 1
- •Глава 2
- •2.1. Движущийся участок магнитного носителя информации
- •2.2. Триггер – физический аналог одного двоичного разряда
- •Глава 3
- •3.1. Системы счисления и правила перевода чисел
- •Глава 4
- •Глава 5
- •5.1. Структура основной памяти (оп)
- •5.2. Структура и организация сверхоперативной памяти (соп)
- •5.3. Структура информационных связей блоков
- •Глава 6
- •6.1. Символьный формат «с»
- •6.2. Десятичный формат «р»
- •6.3. Целые двоичные числа – форматы «н» и «f»
- •6.4. Числа в форме с плавающей запятой – форматы «е» и «d»
- •6.5. Примеры внутри машинного представления значений переменных в основных форматах данных
- •Глава 7
- •7.1. Понятие машинной команды
- •7.2. Форматы команд 32-разрядных эвм
- •Приложения
- •Библиографический список
- •170026, Г. Тверь, наб. Афанасия Никитина, 22
Глава 3
Системы счисления и кодирования информации
3.1. Системы счисления и правила перевода чисел
из одной системы счисления в другую
Понятие системы счисления (СС) связано и определяется через ее основание «d». В свою очередь основание СС – это количество цифр, которое используется для представления чисел в данной системе. Отсчет цифр начинается с 0. Примеры различных СС и цифр, которые используются для представления чисел в СС:
d=5: 0, 1, 2, 3, 4
d=8: 0, 1, 2, 3, 4, 5, 6, 7
d=10: 0, 1, 2, 3, 4, 5, 6, 7, 8,9
d=16: 0, 1, 2, 3, 4, ,5, 6, 7, 8, 9, A, B, C, D, E, F
Для уточнения системы счисления, в которой представляется число, значение основания «d» СС записывается справа от самого числа, на месте индекса числа. Так, например, если необходимо подчеркнуть, что число 34 215 представлено в 8-й СС, то его можно записать в следующем виде: 342158. Существует формула десятичного эквивалента числа, представленного в СС с основанием «d»:
(anan-1an-2…a2a1, b1b2…bm )d = andn-1 + an-1dn-2 + …+ a2d1 + a1d0 + b1d-1 +
+ b2d-2 +…+ bmd-m
где ai – цифры целой части числа, bj – цифры дробной части числа.
При помощи данной формулы можно не только найти десятичный эквивалент числа представленного с основанием «d», но и сравнить числа, представленные в системах счисления, с разными основаниями.
Поскольку в ЭВМ используются три системы счисления, d1 = 2, d2 = 10, d3 = 16, то, безусловно, должны быть правила перевода чисел из одной системы счисления в другую. Такие правила существуют, в ЭВМ они выполняются программно. Перевод чисел из СС с основанием «S» в СС с основанием «Н» для целых и дробных чисел выполняется по самостоятельным правилам. Ограничений на значения «S» и «Н» не существует.
Правило перевода целых чисел: для того чтобы число, представленное в старой «S» СС, перевести в новую СС с основанием «Н», необходимо само число и получающиеся частные от деления делить на основание «Н» новой СС, представленное в старой «S»-ой СС, до тех пор, пока частное от деления не будет меньше основания «Н» новой СС. Цифрами числа в новой «Н» -ой СС будут остатки частичных делений, записанные в порядке, обратном их получению.
Пример: перевести целое число 3756110 из системы счисления S = 10 в систему счисления Н =8.
37561 8 3756110=913168
32 4697 8
55 40 587 8
48 69 56 73 8
76 64 27 72 9
72 57 24 1
61 56 3
56 1
6
Правило перевода дробных чисел: для перевода дробного числа из СС с основанием «S» в СС с основанием «Н», необходимо дробную часть самого числа и дробные части получающихся частичных произведений умножать на основание «Н» новой СС, представленное в старой «S» СС. Цифрами дробного числа в новой «Н» СС будут целые части получившихся частичных произведений, записанные в порядке их получения.
Пример: перевести число 0,73110 из системы счисления с основанием S = 10 в систему счисления с основанием Н = 2.
0 731
*2
1 462
*2
0 924
*2
1 848
*2
1 696
*2
1 392
*2
0 784
*2
1 568
0,73110= 0,10111012
В машинной арифметике используется также система кодирования «8421», при помощи которой устанавливается связь между цифрами 8-, 10- и 16-ричной системами счисления и их двоичным представлением при помощи четырехразрядного двоичного числа (табл. 3.1):
a4а3а2а1 2 = 23а4 + 22а3 + 21аа1 + 20а1 = 8а4 + 4а3 + 2а2 + 1а1
8, 4, 2, 1 – это весовые коэффициенты двоичных разрядов α4, α3, α2, α1 соответственно. Поскольку цифра 2 является основанием и двоичной СС, и целых степеней, являющихся одновременно основаниями 8- и 16-ричной систем счисления: 8 = 23, 16 = 24, то в двоичной арифметике доказаны и сформулированы упрощенные правила перевода чисел из двоичной СС в 8- и 16-ричную и, наоборот, из 16- и 8-ричной СС в 2-ую.
Таблица 3.1
Система кодирования «8421»
|
Цифры |
Весовые коэффициенты разрядов | |||||||||||||
|
|
|
а4 |
а3
|
а2
|
а1
| |||||||||
|
|
|
8 |
4 |
2 |
1 | |||||||||
|
|
|
0 |
0 |
0 |
0 |
0 | ||||||||
1 |
0 |
0 |
0 |
1 | |||||||||||
2 |
0 |
0 |
1 |
0 | |||||||||||
3 |
0 |
0 |
1 |
1 | |||||||||||
4 |
0 |
1 |
0 |
0 | |||||||||||
5 |
0 |
1 |
0 |
1 | |||||||||||
6 |
0 |
1 |
1 |
0 | |||||||||||
7 |
0 |
1 |
1 |
1 | |||||||||||
|
8 |
1 |
0 |
0 |
1 | ||||||||||
9 |
1 |
0 |
0 |
1 | |||||||||||
|
А |
1 |
0 |
1 |
0 | ||||||||||
B |
1 |
0 |
1 |
1 | |||||||||||
C |
1 |
1 |
0 |
0 | |||||||||||
D |
1 |
1 |
0 |
1 | |||||||||||
E |
1 |
1 |
1 |
0 | |||||||||||
F |
1 |
1 |
1 |
1 |
Правило перевода из 8-ричной СС в 2-ичную СС: для перевода чисел, достаточно каждую восьмеричную цифру заменить триадой двоичных разрядов в целой и дробной частях числа в соответствии с табл. 3.1.
Пример: число 7321,038 перевести в 2-ую СС.
7 3 2 1 , 0 38
111 011 010 001 , 000 011
7321, 038 = 111 011 010 001, 000 0112
Правило перевода из 2-ичной СС в 8-ричную СС: для перевода чисел, представленных в 8-ричной СС, в двоичную СС достаточно разбить разряды целой и дробной части числа вправо и влево от запятой на триады двоичных разрядов и каждую триаду заменить ее восьмеричным эквивалентом в соответствии с табл. 3.1.
Пример: число 10111011101, 10110112 перевести в 8-ричную СС.
10 111 011 101, 101 101 12 = 2735, 5548
Правило перевода из 16-ричной СС в 2-ичную СС: для перевода чисел, представленных в 16-ричной СС, в двоичную достаточно каждую 16-ричную цифру в целой и дробной частях числа заменить тетрадой двоичных разрядов в соответствии с табл. 3.1.
Пример: число АВ30Е, С6716 перевести в двоичную СС.
А В 3 0 Е, С 6 7
1010 1011 0011 0000 1110, 1100 0110 0111
АВ30Е, С6716 = 10101011001100001110, 110001101112
Правило перевода из 2-ичной СС в 16-ричную СС: для перевода чисел, представленных в двоичной СС, в 16-ричную достаточно целую и дробную части двоичного числа разбить на тетрады двоичных разрядов вправо и влево от запятой, а затем каждую тетраду заменить ее 16-ричным эквивалентом в соответствии с табл. 3.1.
Пример: число 110111010111101,1011111011000012 перевести в 16-ричную СС.
110 1110 1011 1101, 1011 1110 1100 00102
6 Е В D , В Е С 2
110111010111101, 1011111011000012 = 6ЕВD, ВЕС216
3.2. Принципы кодирования алфавитно-цифровой информации
В повседневной жизни вне ЭВМ для обмена информацией используется 196 различных символов. Это графические символы: буквы строчные и прописные русского и латинского алфавитов, десятичные цифры, знаки препинания, знаки арифметических и логических операций, разделительные знаки и т. д., – а также управляющие символы: переход на новую строку “enter”, уничтожение символов – “delete”, управление курсором и т. д. Исходя из технических возможностей электронных устройств внутри ЭВМ, все символы могут иметь только двоичное представление. При помощи формулы (1.1) устанавливается связь между количеством двоичных разрядов N в двоичном коде и количеством неповторяющихся уникальных комбинаций двоичных кодов H.
В настоящее время в ЭВМ используются 7- и 8-разрядные двоичные коды КОИ-7 и ДКОИ.
КОИ-7 – код обмена информацией семибитный представляется в виде двух таблиц КОИ-7Н0 и КОИ-7Н1 (приложение 1). Таблица КОИ-7Н0 содержит буквы регионального алфавита, в нашей стране – русского, КОИ-7Н1 содержит буквы латинского алфавита. Суммарные возможности обеих таблиц – 256 различных семибитных кодов, что превышает количество используемых 196 символов, используемых вне ЭВМ в повседневной практике. Код КОИ-7 традиционно используется для представления информации на дисплеях. На каждой клавише клавиатуры размещено от одного до трех символов, закодированных при помощи таблиц КОИ-7Н0 и КОИ-7Н1. Переход с одной таблицы кодировки информации на другую осуществляется при помощи специальной клавиши, которая обеспечивает смену регистра с верхнего на нижний и наоборот. Сама операция «смены состояния регистра» является управляющим символом и также имеет 7-битный код, зафиксированный в таблицах КОИ-7Н0 и КОИ-7Н1 и размещаемый в цепочках набираемой информации при вводе ее с клавиатуры. Подобное «плотное» размещение вводимой вне машинной (символьной) информации на клавиатуре вызвано эргономическими соображениями – удается избежать увеличения габаритных размеров клавиатуры, что особенно актуально для переносных и карманных ПК.
ДКОИ – это внутри машинный восьмиразрядный двоичный код обмена и обработки информации. Таблица кода ДКОИ содержит 16 строк и 16 столбцов (приложение 2). Поскольку возможности восьмиразрядного двоичного кода перекрывают потребности 196 вне машинных символов, то в ней содержится порядка 25% пустых «вакантных» клеточек для каких- либо других символов, в настоящее время не используемых.
Кроме символьной информации, основной массе людей приходится в повседневной жизни сталкиваться с числовой информацией, выполнять над числами арифметические операции. Принципы внутри машинного представления и символьной и числовой информации менялись при переходе от одного поколения ЭВМ к другому. В рамках данного учебного пособия, безусловно, имеет смысл рассматривать внутри машинное представление информации в современных ЭВМ 4-го поколения. Для представления числовой информации используются три системы счисления: десятичная, двоичная и шестнадцатеричная. Алгоритмы выполнения арифметических операций двоичной арифметики, реализованные в современных ЭВМ, требуют наличия внутри машинного представления числовой информации в специальных двоичных кодах:
Прямой код (ПК).
Обратный код (ОК).
Дополнительный код (ДК).
Модифицированный прямой код (МПК).
Модифицированный обратный код (МОК).
Модифицированный дополнительный код (МДК).
Поскольку настоящее пособие посвящено рассмотрению вопросов, связанных только с внутри машинным представлением информации, то целесообразно рассмотреть три первых кода ПК, ОК и ДК. Коды МПК, МОК и МДК используются уже непосредственно в физических процессах выполнения арифметических операций. Специальные коды чисел состоят из двух частей, знаковой и числовой, отделенных друг от друга разделительным знаком «.» или «,». Для чисел, по модулю меньших «1», знаковая часть кода занимает место слева от разделительного знака и совпадает с младшим разрядом целой части числа, числовая часть кода находится справа от разделительного знака.
Прямой код (ПК) числа «Х» – это
Х, если X ≥ 0
[X]ПК =
1-Х, если X ≤ 0.
[X]ПК положительного числа совпадает с самим числом, отрицательного – имеет иное представление. Представление двоичных чисел специальными кодами позволяет осуществить кодировку знаков числа «+» и «–» при помощи двоичных цифр «0» и «1». ПК для двух одинаковых по абсолютному значению и имеющих противоположные знаки двоичных чисел Х1 = +0,10112 и Х2 = –0,10112 будут иметь совершенно разное представление:
[X1]ПК = 0,1010, [X2]ПК = 1 – (-0,1011) = 1.1011
Обратный код (ОК) числа получается из его прямого кода. Если число положительное, то значение его ОК совпадает с ПК, если число отрицательное, то для получения его ОК необходимо в знаковом разряде кода ПК установить значение «1», а разряды числовой части проинвертировать, т. е. выполнить поразрядно логическую операцию «НЕ».
Дополнительный код ДК числа получается из его обратного кода. Если число положительное, то значение его ДК совпадает с ПК, если число отрицательное, то для получения его ДК достаточно прибавить «1» ия «1» к младшему разряду его ОК.
МПК, МОК и МДК отличаются от обычных кодов ПК, ОК и ДК наличием двух знаковых разрядов: коды положительных чисел будут содержать в знаковых разрядах «00», отрицательных – «11». Как указывалось выше, это отличие МПК, МОК, МДК от ПК, ОК, ДК обусловлено их использованием в алгоритмах выполнения арифметических операций. Для размещения в ОП используется ПК, ОК и ДК.