Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ВМСиС.doc
Скачиваний:
3
Добавлен:
10.11.2019
Размер:
3.01 Mб
Скачать

Двоичная арифметика

Сложение, вычитание или умножение двоичных чисел выполняются так же, как и в арифметике десятичных чисел. Большинство микропроцессоров владеет командами сложения и вычитания двоичных чисел, однако некоторые, менее многочисленные выполняют команды умножения и деления.

Правила двоичной арифметики:

Сложение: 0+0=0, 1+0=1, 0+1=1, 1+1=10 (перенос единицы в старший разряд).

Вычитание: 00=0, 11=0, 10=1, 101=1 (заем единицы в старшем разряде).

Умножение: 0х0=0, 1х0=0, 0х1=0, 1х1=1.

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

Примеры:

Коды для представления чисел

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

Прямой код двоичного числа – это само двоичное число, в котором все цифры, изображающие его значение, записываются как в математической записи, а знак числа записывается двоичной цифрой.

Прямой код используется при хранении чисел в памяти ЭВМ, а также при выполнении операций умножения и деления, но формат представления чисел в прямом коде неудобен для использования в вычислениях, поскольку сложение и вычитание положительных и отрицательных чисел выполняется по–разному, а потому требуется анализировать знаковые разряды операндов. Поэтому прямой код практически не применяется при реализации в АЛУ арифметических операций над целыми числами. Вместо этого формата широкое распространение получили форматы представления чисел в обратном и дополнительном кодах.

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

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

Положительные числа в прямом, обратном и дополнительном кодах изображаются одинаково – двоичными кодами с цифрой 0 в знаковом разряде. Т.е. если число положительное, то в знаковый разряд записывается 0, если отрицательное, то 1.

Пример: Дано число X=-1011. Прямой код:

Xпр=1.1011

Обратный код (для отриц. числа – все числа меняются на противоположные, кроме знака):

Хобр=1.0100

Дополнительный код (для отриц.числа +1 к обратному коду):

Хдоп=1.0101

Пример: Дано число X=-0,1011. Перевести число в прямой, обратный и дополнительный код, при условии, что разрядная сетка содержит 8 разрядов.

Xпр=1,1011000

Хобр=1,0100111

Хдоп=1,0101000

Представление числовой информации (??? Заголовок похож на предыдущий заголовок).

Любая информация, обрабатываемая в ЭВМ, должна быть представлена двоичными цифрами {0,1}, т.е. должна быть закодирована комбинацией этих цифр. Различные виды информации (числа, тексты, графика, звук) имеют свои правила кодирования. Коды отдельных значений, относящиеся к различным видам информации, могут совпадать. Поэтому расшифровка кодированных данных осуществляется по контексту при выполнении команд программы.

В ЭВМ используются три формы представления двоичных чисел: с фиксированной точкой, с плавающей точкой и двоично-десятичное представление. Точка — это подразумеваемая граница целой и дробной частей числа. Рассмотрим эти 3 формы:

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

2-n  | A2 |  1-2-n

Если точка фиксируется после последней значащей цифры, то это означает, что n-разрядные двоичные числа являются целыми. Диапазон изменения их значений составляет:

0  | A2 |  2-n -1

Перед самым старшим из возможных разрядов двоичного числа фиксируется его знак. Положительные числа имеют нулевое значение знакового разряда, отрицательные — единичное.

2. Числа с плавающей точкой представляются в виде мантиссы та и порядка ра,. Например, десятичное число A10= 373 можно представить в виде 0.373 • 103, при этом та = 0.373, ра= 3, основание системы счисления подразумевается фиксированным и равным десяти. Для двоичных чисел А2 в этом представлении также формируется мантисса та и порядок ра при основании системы счисления, равном двум:

Порядок числа ра определяет положение точки в двоичном числе. Значение порядка лежит в диапазоне -pamax  pa  pamax, где величина pamax определяется числом разрядов r, отведенных для представления порядка

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

Например, A10 =3759, A2-10 = 0011 0111 0101 1001. Положение десятичной точки, отделяющей целую часть от дробной, обычно заранее фиксируется. Значение знака числа отмечается кодом, отличным от кодов цифр. Например, знак «+» имеет значение тетрады «1100», а знак « - » — «1101».