Главная Случайная страница


Полезное:

Как сделать разговор полезным и приятным Как сделать объемную звезду своими руками Как сделать то, что делать не хочется? Как сделать погремушку Как сделать так чтобы женщины сами знакомились с вами Как сделать идею коммерческой Как сделать хорошую растяжку ног? Как сделать наш разум здоровым? Как сделать, чтобы люди обманывали меньше Вопрос 4. Как сделать так, чтобы вас уважали и ценили? Как сделать лучше себе и другим людям Как сделать свидание интересным?


Категории:

АрхитектураАстрономияБиологияГеографияГеологияИнформатикаИскусствоИсторияКулинарияКультураМаркетингМатематикаМедицинаМенеджментОхрана трудаПравоПроизводствоПсихологияРелигияСоциологияСпортТехникаФизикаФилософияХимияЭкологияЭкономикаЭлектроника






Сложение двоичных чисел





Представим числа 2110 и -1910 в обратном коде.
Представим число 21 в двоичном коде.
21 = 101012
Обратный код для положительного числа совпадает с прямым кодом. Для отрицательного числа все цифры числа заменяются на противоположные (1 на 0, 0 на 1), а в знаковый разряд заносится единица.
Двоичное число 10101 имеет обратный код 0,10101
Представим число -19 в двоичном коде.
19 = 100112
Двоичное число 10011 имеет обратный код 1,01100
Сложим числа 010101 и 101100
В 2-ом разряде возникло переполнение (1 + 1 = 10). Поэтому записываем 0, а 1 переносим на 3-й разряд.

 

5 4 3 2 1 0
           
           
           
           


В 3-ом разряде возникло переполнение (1 + 1 = 10). Поэтому записываем 0, а 1 переносим на 4-й разряд.

 

5 4 3 2 1 0
           
           
           
           


В 4-ом разряде возникло переполнение (1 + 1 = 10). Поэтому записываем 0, а 1 переносим на 5-й разряд.

 

5 4 3 2 1 0
           
           
           
           


В 5-ом разряде возникло переполнение (1 + 1 = 10). Поэтому записываем 0, а 1 переносим на 6-й разряд.

 

5 4 3 2 1 0
           
           
           
           


В итоге получаем:

 

5 4 3 2 1 0
           
           
           
           


Возник перенос из знакового разряда. Добавим его (т.е. 1) к полученному числу (тем самым осуществляя процедуру циклического переноса).
В 0-ом разряде возникло переполнение (1 + 1 = 10). Поэтому записываем 0, а 1 переносим на 1-й разряд.

 

5 4 3 2 1 0
           
           
           
           


В итоге получаем:

 

5 4 3 2 1 0
           
           
           
           


Результат сложения: 000010
Получили число 000010. В десятичном представлении это число имеет вид:
Для перевода необходимо умножить разряд числа на соответствующую ему степень разряда.
000010 = 25*0 + 24*0 + 23*0 + 22*0 + 21*1 + 20*0 = 0 + 0 + 0 + 0 + 2 + 0 = 2
Результат сложения (в десятичном представлении): 2

Билет 14

Вопрос 2

Бинарные операции

Бинарные операции — это такие операции, которые берут два операнда и получа-

ют из них результат. Все архитектуры команд содержат команды для сложения и

вычитания целых чисел. Команды умножения и деления целых чисел также име-

ются практически во всех случаях. Думаю, нет необходимости объяснять, почему

компьютеры оснащены арифметическими командами.

Следующая группа бинарных операций содержит булевы команды. Существу-

ет 16 булевых функций от двух переменных, но есть очень немного машин, в кото-

рых имеются команды для всех 16. Обычно присутствуют И, ИЛИ и НЕ; иногда

кроме них еще есть ИСКЛЮЧАЮЩЕЕ ИЛИ, НЕ-ИЛИ и НЕ-И.

Важным применением команды И является выделение битов из слов. Рас-

смотрим машину со словами длиной 32 бита, в которой на одно слово приходится

четыре 8-битных символа. Предположим, что нужно отделить второй символ от

остальных трех, чтобы его напечатать. Это значит, что нужно создать слово, кото-

рое содержит этот символ в правых 8 битах с нулями в левых 24 битах (так называ-

емое выравнивание по правому биту).

Чтобы извлечь нужный нам символ, слово, содержащее этот символ, соединя-


ется операцией И с константой, которая называется маской. В результате этой

операции все ненужные биты меняются на нули:

10110111 10111100 11011011 10001011 А

00000000 11111111 00000000 00000000 В (маска)

00000000 10111100 00000000 00000000 АИВ

Затем результат сдвигается на 16 битов вправо, чтобы нужный символ нахо-

дился в правом конце слова.

Важным применением команды ИЛИ является помещение битов в слово. Эта

операция обратна операции извлечения. Чтобы изменить правые 8 битов 32-битно-

го слова, не повредив при этом остальные 24 бита, сначала нежелательные 8 битов

надо заменить на нули, а затем новый символ соединить операцией ИЛИ с полу-

ченным результатом, как показано ниже:

10110111 10111100 11011011 10001011 А

11111111 11111111 11111111 00000000 В (маска)

10110111 10111100 ПОПОИ 00000000 АИ В

00000000 00000000 00000000 01010111 С

10110111 10111100 ПОПОИ 01010111 (АИВ) ИЛИ СТипы команд 381

Операция И убирает единицы, и в полученном результате никогда не бывает

больше единиц, чем в любом из двух операндов. Операция ИЛИ вставляет едини-

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

ниц, сколько в операнде с большим количеством единиц. Команда ИСКЛЮЧАЮ-

ЩЕЕ ИЛИ, в отличие от них, симметрична в отношении единиц и нулей. Такая

симметрия иногда может быть полезной, например при порождении случайных

чисел.

Большинство компьютеров сегодня поддерживают команды с плавающей точ-

кой, которые в основном соответствуют арифметическим операциям с целыми числа-

ми. Большинство машин содержит по крайней мере 2 варианта таких чисел: более

короткие для скорости и более длинные на тот случай, если требуется высокая точ-

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

ющей точкой, но сейчас практически везде применяется единый стандарт IEEE 754.

Числа с плавающей точкой и этот стандарт обсуждаются в приложении Б.

 

Вопрос 1







Date: 2015-09-05; view: 720; Нарушение авторских прав



mydocx.ru - 2015-2024 year. (0.012 sec.) Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав - Пожаловаться на публикацию