Сдам Сам

ПОЛЕЗНОЕ


КАТЕГОРИИ







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





В результате изучения данной темы Вы будете:

  • иметь представление о существующих системах представления отрицательных чисел в двоичной системе счисления;
  • уметь выполнять арифметические действия над двоичными числами.

Отрицательные двоичные числа

На протяжении всей истории цифровых компьютеров для представления отрицательных чисел использовались 4 различные системы.

 

Первая из них называет­ся системой со знаком. В такой системе крайний левый бит – это знаковый бит (0 – это «+», а 1 – это «-»), а оставшиеся биты показывают абсолютное значе­ние числа.

 

Существуют другие названия систем представления чисел. Система со знаком называется также прямым кодом числа, а системы с дополнением до двух – дополнительным кодом числа.
Во второй системе, которая называется дополнением до единицы, тоже при­сутствует знаковый бит (0 – это «+», а 1 – это «-»). Чтобы сделать число отрицательным, нужно заменить каждую 1 на 0 и каждый 0 на 1. Это относится и к знаковому биту. Система дополнения до единицы уже устарела.

 

Третья система, дополнение до двух, содержит знаковый бит (0 – это «+», а 1 – это «-»). Отрицание числа происходит в два этапа. Сначала каждая 1 меняется на 0, а каждый 0 – на 1 (как и в системе дополнения до единицы). Затем к полученному результату прибавляется 1. Двоичное сложение происходит точно так же, как и десятичное, только перенос совершается в том случае, если сумма больше 1, а не больше 9. Например, рассмотрим преобразование числа 6(10) в форму с дополнением до двух:

00000110(2) (+6(10));

11111001(2) (-6(10) в системе с дополнением до единицы);

11111010(2) (-6(10) в системе с дополнением до двух).

Если нужно совершить перенос из крайнего левого бита, он просто отбрасывается.

 

В четвертой системе, которая для m-битных чисел называется excess 2m-1, чис­ло представляется как сумма этого числа и 2m-l. Например, для 8-битного числа (m=8) система называется excess 128, а число сохраняется в виде суммы исходного числа и 128. Следовательно, -3 превращается в -3+128=125, и это число (-3) пред­ставляется 8-битным двоичным числом 125 (01111101). Числа от -128 до +127 выражаются числами от 0 до 255 (все их можно записать в виде 8-битного положи­тельного числа). Отметим, что эта система соответствует системе с дополнением до двух с обращенным знаковым битом. Ниже представлены примеры от­рицательных чисел во всех четырех системах (Таблица 1.2).

N десятичное N двоичное -N в системе со знаком -N дополнение до единицы -N дополнение до двух -N excess 128
           
           
           
           
           
           
           
           
           
           

Таблица 1.2. Отрицательные 8-битные числа в четырех различных системах

В системах со знаком и с дополнением до единицы есть два представления нуля: +0 и -0. Такая ситуация нежелательна. В системе с дополнением до двух такой проблемы нет, поскольку здесь «плюс нуль это всегда плюс нуль». Но зато в этой системе есть другая особенность. Набор битов, состоящий из 1, за которой следу­ют все нули, является дополнением самого себя. В результате ряд положительных и отрицательных чисел несимметричен – существует одно отрицательное число без соответствующего ему положительного.

Это тоже является проблемой, т.к. удобнее иметь систему кодировки, в ко­торой:

  1. Существует только одно представление нуля.
  2. Количество положительных чисел равно количеству отрицательных.

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

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

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

Ниже приведена таблица сложения для двоичных чисел (Таблица 1.3).

 

Первое слагаемое        
Второе слагаемое +0 +1 +0 +1
Сумма        
Перенос        

Таблица 1.3. Правила сложения для двоичных чисел

Пример

Выполнить сложение чисел 10(10) и (-3)(10) с дополнением до единицы и с дополнением до двух.

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

 

Вопросы для самоконтроля

1. Вспомните и назовите существующие системы представления отрицательных двоичных чисел. В чем заключаются их особенности?

2.

Вспомните правила сложения двоичных чисел. Каким образом происходит сложение двоичных чисел с дополнением до единицы? С дополнением до двух?

Индивидуальные задания

1. Выполните следующие вычисления над 8-битными числами с дополнением до двух:

00101101 11111111 00000000 11110111

+01101111 +11111111 -11111111 -11110111

__________________________________________________________________________________________________________________________________________________________________________

2. Выполните те же вычисление в системе с дополнением до единицы.

__________________________________________________________________________________________________________________________________________________________________________

3. Перемножьте числа 0111(2) и 0011(2).

_______________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________

4. Ниже приведены задачи на сложение 3-битных двоичных чисел в системе с дополнением до двух. Для каждой суммы установите:

· равен ли знаковый бит результата единице;

· равны ли младшие три бита нулю;

· не произошло ли переполнения.

000 000 111 100 100

+001 +111 +110 +111 +100

_________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________







ЧТО ПРОИСХОДИТ ВО ВЗРОСЛОЙ ЖИЗНИ? Если вы все еще «неправильно» связаны с матерью, вы избегаете отделения и независимого взрослого существования...

Живите по правилу: МАЛО ЛИ ЧТО НА СВЕТЕ СУЩЕСТВУЕТ? Я неслучайно подчеркиваю, что место в голове ограничено, а информации вокруг много, и что ваше право...

Конфликты в семейной жизни. Как это изменить? Редкий брак и взаимоотношения существуют без конфликтов и напряженности. Через это проходят все...

Система охраняемых территорий в США Изучение особо охраняемых природных территорий(ООПТ) США представляет особый интерес по многим причинам...





Не нашли то, что искали? Воспользуйтесь поиском гугл на сайте:


©2015- 2024 zdamsam.ru Размещенные материалы защищены законодательством РФ.