Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Кодирование и формы представления числовой информации в ЭВМ




Любая информация (числа, команды, записи и т. п.) представляется в ЭВМ в виде двоичных кодов фиксированной или переменной длины. Отдельные элементы двоичного кода, имеющие значение 0 или 1, называют разрядами или битами. Двоичный код состоящий из 8 разрядов носит название байта. Для записи чисел также используют 32-разрядный формат (машинное слово), 16-разрядный формат (полуслово) и 64-разрядный формат (двойное слово).

В компьютере используются следующие формы представления числовых данных:

– числа с фиксированной запятой (точкой); числа с плавающей запятой (точкой).

Представление чисел в форме с фиксированной точкой получило название естественной формы числа, представление с плавающей точкой – нормальной (нормализованной) формой числа.

В естественной форме представляются целые числа, в нормализованной форме – вещественные (целые и дробные).

При представлении числа в форме с фиксированной точкой указывается знак числа и модуль числа в q – ичном коде.

Число с плавающей точкой изображается в байтах памяти в виде мантиссы и порядка (основание системы в соответствующей степени)

В целях упрощения выполнения арифметических операций применяют специальные коды для представления чисел. Использование кодов позволяет свести операцию вычитания чисел к арифметическому сложению кодов этих чисел.

Основные машинные коды чисел: прямой, обратный и дополнительный. Прямой код используется для представления отрицательных чисел в запоминающем устройстве ЭВМ, а также при умножении и делении. Обратный и дополнительный коды используются для замены операции вычитания операцией сложения, что упрощает устройство арифметического блока ЭВМ.

К машинным кодам выдвигаются следующие требования:

– разряды числа в коде жестко связаны с определенной разрядной сеткой (байт, полуслово, слово, двойное слово);

– для записи кода знака числа в разрядной сетке отводится фиксированный, строго определенный разряд (обычно старший). Значение знакового разряда для положительных чисел равно 0, а для отрицательных чисел 1.

Например, если за основу представления кода взят один байт, то для представления числа будет отведено 7 разрядов (с 0-го по 6-ой), а для записи кода знака один разряд (7-ой).

Для удобства записи машинных кодов условимся отделять знаковый разряд от цифровых запятой. Если количество разрядов кода в задании не указано будем предполагать, что под запись кода выделен один байт.

Код числа в форме с фиксированной точкой, состоящий из кода знака и двоичного кода его модуля, называется прямым кодом двоичного числа. Этот код строится путем перевода десятичного числа в двоичную СС и записи двоичного кода в разрядную сетку. Знак числа записывается в старшем разряде сетки, а все пустые разряды сетки между числом и знаковым разрядом заполняются нолями.

Если число положительное его обратный и дополнительный коды совпадают с прямым кодом этого числа.

Обратный код отрицательного числа получается путем инвертирования (замены 1 на 0, 0 на 1) всех разрядов прямого кода этого числа за исключением знакового.

Дополнительный код отрицательного числа получается путем прибавления единицы к младшему разряду обратного кода

Пример. Построить машинные коды числа 1710.

Для построения прямого кода:

– переведите исходное число в двоичную СС. 1710 = 100012;

               

– занесите число в разрядную сетку.

Т.к. разрядность сетки не было указана, работаем с байтом;

               

– в старший разряд занесите знак числа;

               

– пустые разряды сетки заполняем нолями.

[17]пр = 0, 0010001.Т.к. число 17 положительное:

[17] пр = [17] обр = [17] доп = 0, 0010001.

Пример. Построить машинные коды числа -1710.

Для построения прямого кода:

– переведите исходное число в двоичную СС. -1710 = -100012;

               

– занесите число в разрядную сетку.

Т.к. разрядность сетки не было указана, работаем с байтом;

               

– в старший разряд занесите знак числа;

               

– пустые разряды сетки заполняем нолями.

[-17]пр = 1, 0010001. Т.к. число -17 отрицательное строим отрицательный и дополнительный коды этого числа:

[-17] обр = 1, 1101110.

1, 1101110

1

[-17] доп = 1, 1101111

Особенности сложения целых чисел в дополнительном коде

– числа в ЭВМ складываются в дополнительных кодах, соответственно и результат сложения является дополнительным кодом числа. Если результат арифметических действий является кодом отрицательного числа, необходимо преобразовать его в прямой код;

– знаковые разряды слагаемых участвуют в сложении и формируют знак результата;

– возникающая единица переноса в знаковом разряде отбрасывается;

Пример. Сложить двоичные числа X и Y в дополнительном коде:

а) X= 111, Y= -11;

Двоичная арифметика Прямой код Сложение в дополнительном коде


Так как результат сложения является кодом положительного числа (знак 0), то (X+Y)обр=(X+Y)доп=(X+Y)пр.

б) X= -101,Y= -11;

Двоичная арифметика Прямой код Сложение в дополнительном коде

 

Так как сумма является кодом отрицательного числа (знак 1), то необходимо перевести результаты в прямой код:

– из дополнительного 1,1110101 в обратный вычитаем единицу из младшего разряда (X+Y)обр = 1,1110100;

– обратного в прямой код производим инверсию разрядов за исключением знакового (X+Y)обр=1,1110100 (X+Y)пр=1,0001011. Таким образом, X+Y= -1011 и полученный результат совпадает с обычной записью.

Задание 3




Поделиться с друзьями:


Дата добавления: 2014-12-27; Просмотров: 534; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.017 сек.