Студопедия.Орг Главная | Случайная страница | Контакты | Мы поможем в написании вашей работы!  
 

Кодирование чисел в вычислительных системах



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

- прямой;

- обратный;

- дополнительный.

Прямым кодом двоичного числа называется n-разрядное число, у которого один или два старших разряда есть знаковые, и записывается это число в следующем виде:

Прямой код определяется следующим выражением:

,

где А - вес знакового разряда.

Для дробных чисел А=1, для целых чисел А=2n-1, где n- число бит разрядной сетки ЭВМ.

Пример.

n = 4

х = -5

       

[-5]пр = 23 + ï-5ï=13=1101

для n = 5

         

[5]пр = 24 + ï-5ï=16 +5= 21=10101

Пример.

n = 4

х = -0,5

[-0,5]пр = 1 + ï0,5ï=1,5=1100

В прямом коде 0 имеет два значения. Например, для n=4

+0º0000

-0º1000

Обратным кодом двоичного числа называется n-разрядное число, у которого один или несколько старших разрядов есть знаковые, и записывается оно в следующем виде:

Обратный код положительного числа равен прямому коду этого числа.

Обратный код отрицательного числа определяется выражениями:

- для дробных чисел [X]обр = 2 - 2-(n-1) - |X|;

- для целых чисел [X]обр = 2n -1 - |X|.

Наиболее просто обратный код можно получить следующим образом:

1. Записать исходное число в прямом коде (знаковый разряд равен 1).

2. В цифровых разрядах поменять нули на единицы, а единицы на нули.

Пример.

n = 4

х = -5

[-5]пр = 1101

[-5]обр = 1010

[-5]обр = 24-1-[5] = 16-1-5 = 10 =1010

Пример. Обратный код дробного числа:

n = 4

х = -0,5

[-0,5]обр = 2-2-(4-1)-ï0,5ï=1,375=1011

0,375×2=0,75 0

0,75×2=1,5 1

0,5×2=1,0 1

Пример.

n = 4

х = +5

[5]обр = [5]пр = 0101

Вес знакового разряда отрицательного числа равен - [2n-1 -1].

n=4, [+0]обр=0000, [-0]обр=1111.

Перевод обратного кода в десятичный производится следующим образом:

1. Образуем прямой код инвертированием цифровых разрядов.

2. Значение знакового разряда (1) отбрасываем и считаем, что это '' минус''.

3. Умножаем значение цифровых разрядов на их веса и произведения складываем.

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

Пример: 1010 = - [23 - 1] + 0×22 + 1×21 + 0×20 = -7 + 0 + 2 +0 = -5

В основном в вычислительных системах используется дополнительный код.

Дополнительным кодом двоичного числа называется n-разрядное число, у которого один или два старших разряда есть знаковые, и записывается это число в следующем виде:

(n-1) нулей

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

Дополнительный код отрицательного числа образуется следующим образом:

- для дробных чисел [X]доп = 2 - |X|;

- для целых чисел [X]доп = 2n - |X|.

Дополнительный код отрицательных чисел можно получить по следующему правилу:

1. Записать число в обратном коде.

2. Прибавить к полученному результату 1.

Пример.

n = 4

х = -5

[-5]обр = 1010

[-5]доп = 1011

È весовой знак (-2n-1)

n = 4 [+0]доп = 0000

[-0]доп = 0000

Для перевода двоичного числа, записанного в дополнительном коде, в десятичное необходимо:

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

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

Представление двоичного числа в десятичном коде можно получить, используя вес знакового разряда.

Пример:

1011-доп.

1101

-(1×22+0×21+1×20)=-5

1101= 1×(-23) +0×22+1×21+ 1×20 = -5





Дата публикования: 2015-10-09; Прочитано: 335 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!



studopedia.org - Студопедия.Орг - 2014-2024 год. Студопедия не является автором материалов, которые размещены. Но предоставляет возможность бесплатного использования (0.008 с)...