Представление отрицательных чисел в двоичной системе счисления


Положительные числа нами были рассмотрены ранее. Рассмотрим способы представления отрицательных чисел в двоичном коде. Существует несколько способов такого представления. Мы рассмотрим три:

1. прямой код (в этом случае в двоичном числе выделяется бит-знака - старший бит). Рассмотрим однобайтное (8 бит) двоичное число со знаком.

 

 

Старший бит младший бит

 

бит-знакa мантисса

 

 

Рисунок 2.5 - Представление однобайтных чисел со знаком

 

Если бит-знак равен 0, то число считается положительным, а если бит-знак равен 1 = отрицательным.

Например, 1210=000011002

-1210=100011002

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

Рассмотрим сложение: 12+(-12)=0

+10001100

10011000 (-24)

Как видим в результате сложения получились число -24, что не равно 0.

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

Числа здесь представляются так:

Таблица 2.1

Число в смещенном коде Двоичный код Число без знака
………. ……… ..…….
-1
………. ………. ………
-127
-128

 

Достоинством данной системы является то, что в ней выполняются арифметические операции, правда с учетом коррекции результата. А недостатком является то, что 0 соответствует числу 128.

Рассмотрим сложение: 12+(-12)=0

+01110100

100000000 (0)

Как видим, в результате операции получилось число 256. Ограничив предел рассмотрения одним байтом, получим 00000000, к этому результату надо прибавить смещение 128.

Рассмотрим сложение: 12+(-13)=0

+01110011

11111111 (-1)

Как видим, и в данном случае к результату необходимо прибавить 128 и ограничить рассмотрение одним байтом.

3. дополнительный код (это наиболее широко используемый код для представления отрицательных чисел). В нем в числе также выделяется бит-знак в старшем разряде. В дополнительном коде ноль в старшем разряде соответствует положительным числам, а единица - отрицательным числам, но при этом положительные числа представляются как обычно, а отрицательные - в виде записи дополнительного кода.

Рассмотрим порядок перевода числа -9 из десятичной системы в дополнительный код:

1. запишем число без знака: 9;

2. преобразуем число в двоичный код: 00001001;

3. получим обратный код: 11110110;

4. прибавим 00000001 и получим: 11110111.

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

1. запишем дополнительный код: 11110111;

2. получим обратный код: 00001000;

3. прибавим 00000001: 00001001;

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

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

Рассмотрим таблицу соответствия чисел представленных в дополнительном коде.

Таблица 2.2

Число со знаком Двоичный код Число без знака
+127
………………………. ………………………… …………………………
+2
+1
+0
-1
-2
-3
………………………. ………………………… …………………………
-128

 

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

 



Дата добавления: 2021-09-07; просмотров: 427;


Поиск по сайту:

Воспользовавшись поиском можно найти нужную информацию на сайте.

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

Считаете данную информацию полезной, тогда расскажите друзьям в соц. сетях.
Poznayka.org - Познайка.Орг - 2016-2024 год. Материал предоставляется для ознакомительных и учебных целей.
Генерация страницы за: 0.009 сек.