Получение числа по его дополнительному коду

а) Если в коде старший бит числа равен 0, то есть число положительное. Такое число переводим в десятичную систему счисления в соответствии с правилами позиционной системы исчисления;

б) Если в коде старший бит числа равен 1, то число отрицательное, тогда:

1) инвертируем число;

2) прибавляем 1;

3) переводим в десятичную систему счисления в соответствии с правилами позиционной системы исчисления;

4) записываем со знаком «-».

Использование дополнительного кода позволяет заменить операцию вычитания на операцию сложения.

Пример 11

2510 – 510 = 2510 + (-5)10 = 2010

Пример 12

Провести следующие вычисления в двоичной форме: 2510 – 3510 = - 1010

2510 = 0001 10012 3510 = 0010 00112

|-3510| = 0010 00112 модуль числа - 3510

Получение числа по его дополнительному коду - student2.ru = 1101 11002 инверсия модуля числа - 3510

1101 11012 дополнительный код числа - 3510

   
+   дополнительный код числа - 3510
Получение числа по его дополнительному коду - student2.ru   старший разряд 1
    инверсия результата
+   + 1
Получение числа по его дополнительному коду - student2.ru   результат вычитания

Проверка: 0000 10102 = 0·27 + 0·26 + 0·25 + 0·24 + 1·23 + 0·22 + 1·21 + 0·20 = 1010

Пример 13

Провести следующие вычисления в шестнадцатеричной форме: 4410 – 5910 = - 1510

4410 = 2С16

|-5910| = 3В16 модуль числа - 3510

Получение числа по его дополнительному коду - student2.ru = С416 инверсия модуля числа - 5910

С516 дополнительный код числа - 5910

  С  
+ С   дополнительный код числа - 3510
Получение числа по его дополнительному коду - student2.ru F   старший разряд 1
  Е   инверсия результата
+   + 1
Получение числа по его дополнительному коду - student2.ru F   результат вычитания

Проверка: 0F16 = 0·161 + 15·160 = 1510

Представление вещественных чисел

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

Вещественное число N можно представить в системе счисления с основанием k в виде полинома:

Получение числа по его дополнительному коду - student2.ru Получение числа по его дополнительному коду - student2.ru ,

здесь дробная часть любого вещественного числа содержит ∞ число членов.

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

1) целая часть переводится как в случае с целыми числами;

2) дробная часть умножается на Р, целая часть результата запоминается и отбрасывается.

3) вновь полученная дробная часть умножается на Р и т.д.

4) Процедура продолжается до тех пор, пока дробная часть не станет равной нулю (или в пределе стремится к нулю, т.к. дробь в пределе является бесконечной);

5) полученный код отделяем от целой части запятой.

Пример 14

Перевести число 10,110 в двоичный вид

1. целая часть числа 1010 = 10102

2. дробная часть числа 0,1

N п/п         запоминаем
0,1 × 0,2
0,2 × 0,41
0,4 × 0,8
0,8 × 1,6
0,6 × 1,2
0,2 × 0,4
0,4 × 0,8
0,8 × 1,6
0,6 × 1,2
0,2 × 0,4

Проверка: 10,00011001102 = 1·23 + 0·22 + 1·21 + 0·20 + 0·2-1 + 0·2-2 + 0·2-3 + 1·2-4 + 1·2-5 +

0·2-6 + 0·2-7 + 1·2-8 + 1·2-9 + 0·2-10 = 10,099609…

Видно, что результат и исходное число в дробной части отличаются.

Вычислим погрешность для дробной части нашего случая с числом двоичных разрядов после запятой 10

Nисходное – Nполучившееся = Получение числа по его дополнительному коду - student2.ru абсолютная погрешность

Получение числа по его дополнительному коду - student2.ru относительная погрешность в процентах.

В нашем случае для Получение числа по его дополнительному коду - student2.ru : Получение числа по его дополнительному коду - student2.ru 0,391%.

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

Пример 15

Переведем число 973,23210 в шестнадцатеричный код

N п/п         запоминаем
0,232 × 3,712
0,712 × 11,392 В
0,392 × 6,272
0,272 × 4,352

973,23210 = 3CD,3B6416

Ограничим число разрядов после запятой. Перевести число 3CD,3B16 в десятичный код:

3CD,3B16 = 3·162 + 12·161 + 13·160 + 3·16-1 + 11·16-2 = 973,2304710

Погрешность Получение числа по его дополнительному коду - student2.ru 0,202 %

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

Пример 16

Сложить числа 0,510 + 0,62510 = 1,12510 в двоичной форме

0,510 = 0,12 0,62510 = 0,1012

  0,
+ 0,
Получение числа по его дополнительному коду - student2.ru 1,

0,12 + 0,1012 = 1,0012

Проверка: 1,0012 = 1·20 + 0·2-1 + 0·2-2 + 1·2-3 = 1,12510

Наши рекомендации