Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Posobie.doc
Скачиваний:
143
Добавлен:
09.04.2015
Размер:
969.22 Кб
Скачать

Алгебраическое представление двоичных чисел

Знак числа обычно кодируется двоичной цифрой, при этом:

0 означает знак +

1 означает знак –

Для алгебраического представления чисел в ЭВМ используются специальные коды:

  • прямой код

  • обратный код

  • дополнительный код

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

Пример:

Число N, N=a1, a2, a3,….am

Прямой код N – [N]пр

Если N>0, то [N]пр=0, a1, a2, a3,….am

Если N<0, то [N]пр=1, a1, a2, a3,….am

Если N=0, то [0]пр=0, 0… или 1, 0 ….

Обратный код N – [N]обр,ã – инверсия дляа, тогда

Если N>0, то [N]обр=0, a1, a2, a3,….am

Если N<0, то [N]обр=1,ã 1, ã 2, ã 3,…. ã m

Если N=0, то [0]обр=0,0… или 1,1….

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

Дополнительный код N – [N]доп,ã – инверсия дляа, тогда

Если N>=0, то [N]доп=0, a1, a2, a3,….am

Если N<=0, то [N]доп=1,ã 1, ã 2, ã 3,…. ã m + 0,00…1

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

Примеры:

Число 1011. Обратный код 0,1011, дополнительный код 0,1011

Число -1011. Обратный код – 1,0100, дополнительный код 0,0101

Элементы двоичной арифметики

Правила выполнения операций в двоичной системе счисления аналогичны правилам операций в десятичной системе:

0+0=0 0*0=0 0+1=1 0*1=0 1+1=10 1*1=1

Если при сложении сумма цифр в разряде будет больше 1, то произойдёт перенос в старший разряд. Если при вычитании цифра уменьшаемого меньше цифры вычитаемого, то нужно сделать «заём» единицы из более старшего разряда. Двоичная арифметика позволяет все арифметические действия свести сложению: умножение – последовательность сложений, вычитание – сложение с числом в дополнительном коде.

Особенности представления информации в эвм

Числовая информация внутри ЭВМ кодируется в двоичной или двоично-десятичной системе счисления. Для вывода/вывода числовых данных используется коды ASCII. КодыASCIIтакже используются для кодирования буквенной и символьной информации внутри ПК.

Биты в числе нумеруются справа налево, начиная с 0.

В ЭВМ используются поля постоянной длины:

полуслово – 1 байт

слово – 2 байта

двойное слово – 4 байта

расширенное слово – 8 байтов

Рис. . Основные типы данных.

Числа с фиксированной запятой обычно имеют формат полуслова или слова, числа с плавающей запятой – формат двойного или расширенного слова.

Используются также поля переменной длины – целое число байт в диапазоне от 0 до 255.

Рис. . Формат числа с плавающей запятой.

Двоично-кодированные десятичные числа представляются полями переменной длины в упакованном и распакованном форматах.

В упакованном формате каждой десятичной цифре отводится полбайта, а знак кодируется в крайнем правом полубайте числа (1100 – плюс, 1101 – минус).

В распакованном формате каждая цифра занимает байт, при этом старшие полубайты – зона – заполняются кодом 0011, а младшие – кодом цифры. Старший полубайт младшего байта содержит код знака.

Распакованный формат используется при вводе-выводе информации, и для операций умножения и деления двоично-десятичных чисел.

Пример: десятичное число -185 в двоично-десятичном коде 0001 1000 0101.

В ПК это будет так:

Упакованный формат:

0001

1000

0101

1101

Распакованный формат:

0011

0001

0011

1000

1101

0101

Рис. . Форматы двоично-десятичных данных

Используются также поля переменной длины – целое число байт в диапазоне от 0 до 255 и строка бит.

Рис. .Данные типа строка.

Код ASCIIимеет основной стандарт – первые 128 значений (для кодирования управляющих символов, синтаксических знаков, символов латинского алфавита и цифр). В расширении (оставшиеся 128 значений) кодируются символы псевдографики и буквы национальных алфавитов.

Рис. . Символьные данные

В программировании на языке Ассемблера для описания данных используются специальные директивы, в которых определяются адрес данных, тип и размер.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]