Обратный код (представление числа)
Обратный код — метод вычислительной математики, позволяющий вычесть одно число из другого, используя только операцию сложения над натуральными числами. Ранее метод использовался в механических калькуляторах (арифмометрах). В настоящее время используется в основном в современных компьютерах.
См. также
Прочее
Обратный <math>n</math>-разрядный двоичный код положительного целого числа состоит из одноразрядного кода знака (двоичной цифры 0), за которым следует <math>n-1</math>-разрядное двоичное представление модуля числа (обратный код положительного числа совпадает с прямым кодом).
Пример. Двоичное представление числа 5 есть 101. Обратный 10-разрядный двоичный код числа +5 есть 0000000101.
Обратный <math>n</math>-разрядный двоичный код отрицательного целого числа состоит из одноразрядного кода знака (двоичной цифры 1), за которым следует <math>n-1</math>-разрядное двоичное число, представляющее собой инвертированное <math>n-1</math>-разрядное представление модуля числа.
Пример. Двоичное представление числа 5 есть 101, его 9-разрядное двоичное представление — 000000101. Обратный 10-разрядный двоичный код числа −5 есть 1111111010.
Имеются два обратных кода числа 0: «положительный нуль» 0000000000 и «отрицательный нуль» 1111111111 (приведены 10-разрядные обратные коды).
<math>n</math>-разрядный обратный код позволяет представить числа от <math>-2^{n-1}+1</math> до <math>+2^{n-1}-1</math>.
Двоичный пример
Метод дополнений в основном используется в двоичной системе счисления (с основанием 210), так как в двоичной системе счисления дополнение до 1 очень просто получается инверсией каждого бита (заменой '0' на '1' и наоборот) и добавлением единицы, дополнение до 2 может быть сделано симуляцией единицы переноса в младший значащий бит.[1] Например:
вычитание 10010 - 2210
011001002 (x, равное десятичным 10010) - 000101102 (y, равное десятичным 2210)
в методе дополнений становится суммой:
011001002 (x) + 111010012 (первое дополнение y) + 12 (чтобы получить второе дополнение) ========== 1010011102
После отброса левой (старшей, лидирующей) "1" получается ответ: 010011102 (равное десятичным 7810).
Ссылки
- ↑ http://matlab.exponenta.ru/fixedpoint/book1/1.php К.Г.Жуков "Справочное руководство пользователя Fixed-Point Blockset" 1.2. Понятие прямого, обратного и дополнительного кодов
Ошибка: неверное или отсутствующее изображение |
Для улучшения этой статьи желательно?:
|
Формула | Это незавершённая статья по математике. Вы можете помочь проекту, исправив и дополнив её. |
Если вам нравится SbUP.com Сайт, вы можете поддержать его - BTC: bc1qppjcl3c2cyjazy6lepmrv3fh6ke9mxs7zpfky0 , TRC20 и ещё....