лекции / Лекция 8 по ИТ_Представления в ЭВМ машинных кодов чисел в форме с фиксированной запятой
.docx
|
Курс лекций по дисциплине «Информационные технологии» для студентов очной формы обучения |
||||
Лекция № 8 |
Блок 2: «Аппаратная реализация арифметических операций над числами, представленными в машинных кодах» |
||||
Тема 2.2: «Машинные коды. Представление в ЭВМ машинных кодов чисел в форме с фиксированной запятой» |
|||||
Курс – 34 акад. часа |
Выпуск 1 |
Изменение 0 |
Экземпляр № 1 |
Лист |
8. Формы представления машинных кодов чисел в ЭВМ
Все числа записываются, обрабатываются и хранятся в ЭВМ в виде так называемых машинных кодов, при этом числа могут быть представлены как в форме с фиксированной запятой (естественная форма) – правильные дроби и целые числа, так и в форме с плавающей запятой (нормальная форма) – мантисса с порядком для решения проблемы переполнения разрядной сетки.
При представлении машинных кодов чисел в форме с фиксированной запятой динамический диапазон ограничен, соответственно представление кодов чисел в форме с плавающей запятой служит для расширения диапазона.
Машинные коды представляют собой последовательность из условных «нулей» и «единичек», а на самом деле – из двух устойчивых физических состояний устройства под названием триггер. Этими устойчивыми состояниями могут быть: намагничено или не намагничено, заряжено или не заряжено, высокое напряжение на выходе или низкое напряжение на выходе и т. д.
Поскольку для записи, хранения, считывания n-разрядных двоичных данных (машинных кодов) и выполнения других операций над ними в ЭВМ используются специальные устройства, называемые регистрами, которые в свою очередь состоят из триггеров, то одной из основных характеристик регистров является длина его разрядной сетки.
Машинные коды чисел в форме с фиксированной запятой
Ниже приведено условно-графическое изображение 9-ти разрядного регистра для представления простого машинного кода целого числа в форме с фиксированной запятой, разрядная сетка которого состоит из одного знакового и восьми значащих разрядов (рисунок 8.1):
Знак числа Число
|
|
|
|
|
|
|
|
|
|
, ←Это условная запятая, она не кодируется |
Рисунок 8.1 – Условно-графическое изображение разрядной сетки 9-ти разрядного регистра для записи простого машинного кода целого числа
Правила записи знаков чисел в простых машинных кодах
Знак числа (положительный или отрицательный) также имеет свой машинный код:
- положительный знак числа кодируется «нулем» – «0»,
- отрицательный знак числа кодируется «единицей» – «1».
Для записи простых машинных кодов под знак отводится один разряд в знаковой части кода. Знаковая часть кода занимает крайнее левое положение в разрядной сетке регистра.
Правила записи в регистр простых машинных кодов чисел со знаком
Как простые, так и модифицированные машинные коды целых и дробных чисел записываются в соответствующие регистры по-разному:
При внесении в регистр машинного кода целого числа его младший значащий разряд записывается в крайне правую ячейку регистра, а все старшие разряды располагаются левее, при этом оставшиеся пустыми разряды заполняются «нулями», например: простой прямой машинный код положительного десятичного числа +510 =+1012→ 0 101ПК в рассматриваемом нами случае запишется в регистр так (рисунок 8.2):
Знак числа Число
0 |
|
0 |
0 |
0 |
0 |
0 |
1 |
0 |
1 |
, |
Рисунок 8.2 – Условно-графическое изображение разрядной сетки регистра, заполненной простым машинным кодом целого положительного числа 510 =+1012→ 0 101ПК
При внесении в разрядную сетку машинного кода дробного числа меньшего единицы, его старший значащий разряд записывается в крайне левую ячейку той части регистра, которая отведена для размещения значащей части числа, а все его младшие разряды располагаются правее, при этом оставшиеся пустыми разряды заполняются «нулями», например: прямой машинный код отрицательного числа -0,510=-0,12 →1 1ПК в рассматриваемом нами случае запишется в 9-ти разрядный регистр так (рисунок 8.3):
Знак числа Число
1 |
, |
1 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
Рисунок 8.3 – Условно-графическое изображение разрядной сетки 9-ти разрядного регистра, заполненной простым прямым машинным кодом дробного отрицательного числа -0,510=-0,12 →1 1ПК
Здесь на рисунке также указана условная запятая, которая никак не кодируется. А то, какие именно числа (целые или дробные) записываются в данный регистр, определяется программной интерпретацией.
Правила записи знаков чисел в модифицированных машинных кодах
Как мы увидим далее, модифицированный код используется для автоматического определения явления, имеющего название «переполнение разрядной сетки». Здесь мы остановимся только на формальной стороне вопроса о хранении в регистрах модифицированного кода.
Запись знака числа (положительный или отрицательный) в модифицированном машинном коде отличается от записи в простом машинном коде тем, что под знак в модифицированном коде отводится два старших разряда (крайних слева) в разрядной сетке регистра:
- положительный знак числа изначально кодируется – «00», в результате вычислений положительный знак может стать таким – «01» (в случае переполнения разрядной сетки);
- отрицательный знак числа изначально кодируется – «11», в результате вычислений отрицательный знак может стать таким – «10» (в случае переполнения разрядной сетки).
Как видно из вышесказанного, знак числа однозначно определяется старшим знаковым разрядом.
Разнозначные значения в знаковом разряде указывают на переполнение разрядной сетки. Как, где и для чего это применяется и учитывается, будет рассмотрено на последующих лекциях, где будут подробно рассматриваться модифицированные коды.
Правила записи в регистр модифицированных машинных кодов чисел в форме с фиксированной запятой
Ниже представлено условно-графическое изображение 9-ти разрядного регистра для представления прямого модифицированного машинного кода целого числа в форме с фиксированной запятой, разрядная сетка которого состоит из двух знаковых и семи значащих разрядов (рисунок 8.4):
Знак числа Число
|
|
|
|
|
|
|
|
|
|
, |
Рисунок 8.4 – Условно-графическое изображение разрядной сетки 9-ти разрядного регистра для записи модифицированного машинного кода целого числа
Пример записи в 9-ти разрядный регистр модифицированного прямого машинного кода целого положительного десятичного числа в форме с фиксированной запятой +510 =+1012→ 00 101ПК (рисунок 8.5):
Знак числа Число
0 |
0 |
|
0 |
0 |
0 |
0 |
1 |
0 |
1 |
, |
Рисунок 8.5 – Условно-графическое изображение разрядной сетки регистра, заполненной модифицированным машинным кодом целого числа 510 =+1012→ 00 101ПК
Пример записи в 9-ти разрядный регистр модифицированного прямого машинного кода дробного отрицательного десятичного числа в форме с фиксированной запятой -0,510=-0,12 →11 1ПК (рисунок 8.6):
Знак числа Число
1 |
1 |
, |
1 |
0 |
0 |
0 |
0 |
0 |
0 |
|
Рисунок 8.6 – Условно-графическое изображение разрядной сетки 9-ти разрядного регистра, заполненной модифицированным машинным кодом дробного отрицательного числа -0,510=-0,12 →11 1ПК