Двоичное вычитание
Вычитание в двоичной системе выполняется аналогично вычитанию в десятичной системе счисления. При необходимости, когда в некотором разряде приходится вычитать единицу из нуля, занимается единица из следующего старшего разряда. Если в следующем разряде нуль, то заем делается в ближайшем старшем разряде, в котором стоит единица. При этом следует понимать, что занимаемая единица равна двум единицам данного разряда, т. е. вычитание выполняется по следующему правилу:
Пример. Вычитание двоичных чисел и
11010, | 1011 |
1101, | 01111 |
1101, | 00111 |
Конечно, математически вычитание выполнить несложно. Однако, если поступать таким образом, то к примеру в ЭВМ придется для выполнения сложения и вычитания иметь два блока: сумматор и вычитатель. Поэтому поступают следующим образом: вычитание можно представить как сложение положительного и отрицательного чисел, необходимо только подходящее представление для отрицательного числа.
Рассмотрим четырехразрядный десятичный счетчик, какие в автомобиле отсчитывают пройденный путь. Пусть он показывает число 2, если вращать его в обратном направлении, то сначала появится 1, затем 0, после 0 появится число 9999. Сложим, к примеру, 6 с этим числом:
+ | 6 |
9999 | |
10005 |
Если пренебречь единицей переноса и считать 9999 аналогом -1, то получим верный результат: .
Число 9999 называется десятичным дополнением числа 1. Таким образом, в десятичной системе счисления отрицательные числа могут быть представлены в форме десятичного дополнения, а знак минус можно опустить.
Двоичное дополнение числа определяется как то число, которое будучи прибавлено к первоначальному числу, даст только единицу переноса в старшем разряде.
Пример. Двоичное дополнение числа
+ | 010101111 | - число |
101010001 | - двоичное дополнение | |
1000000000 | - сумма | |
- единица переноса |
Для получения двоичного дополнения необходимо:
· получить обратный код, который образуется инвертированием каждого бита:
010101111 | - число |
101010000 | - обратный код |
· прибавить к обратному коду единицу, образовав таким образом дополнительный код:
+ | 101010000 | - обратный код |
1 | ||
101010001 | - дополнительный код |
Пример. Вычитание в дополнительном коде
- обратный код,
- дополнительный код.
1001012=510 (верно).
Двоичное умножение
Умножение двух двоичных чисел выполняется так же, как и умножение десятичных. Сначала получаются частичные произведения и затем их суммируют с учетом веса соответствующего разряда множителя.
Отличительной особенностью умножения в двоичной системе счисления является его простота, обусловленная простотой таблицы умножения. В соответствии с ней, каждое частичное произведение или равно нулю, если в соответствующем разряде множителя стоит нуль, или равно множимому, сдвинутому на соответствующее число разрядов, если в соответствующем разряде множителя стоит единица. Таким образом, операция умножения в двоичной системе сводится к операциям сдвига и сложения.
Умножение производится, начиная с младшего или старшего разряда множителя, что и определяет направление сдвига. Если сомножители имеют дробные части, то положение запятой в произведении определяется по тем же правилам, что и для десятичных чисел.
Пример. Умножение двоичных чисел и
Двоичное деление
Деление чисел в двоичной системе производится аналогично делению десятичных чисел. Рассмотрим деление двух целых чисел, так как делимое и делитель всегда могут быть приведены к такому виду путем перениесения запятой в делимом и делителе на одиноаковое число разрядов и дописывания необходимых нулей. Деление начинается с того, что от делимого слева отделяется минимальная группа разрядов, которая, рассматриваемая как число, превышает или равна делителю. Дальнейшие действия выполняются по обычным правилам, причем последняя целая цифра частного получается тогда, когда все цифры делимого исчерпаны.
Пример. Деление двоичных чисел
1) 18:2 | 2) 14:4 | ||
10010 | 10 | 1110 | 100 |
10 | 1001=(9)10 | 100 | 11,1=(3,5)10 |
00 | 110 | ||
00 | 100 | ||
001 | 100 | ||
000 | 100 | ||
10 | 0 | ||
10 | |||
00 |
Таким образом, выполнение арифметических операций в двоичной системе счисления достаточно просто. Особенно просто выполнять операции сложения, вычитания и умножения. Благодоря этому, применение двоичной системы в вычислительных машинах позволяет упростить схемы устройств, в которых осуществляются операции над числами
Смешанные системы счисления
Смешанная система счисления является обобщением b-ричной системы счисления и также зачастую относится к позиционным системам счисления. Основанием смешанной системы счисления является возрастающая последовательность чисел
и каждое число x представляется как линейная комбинация: ,где на коэффициенты ak (называемые как и прежде цифрами) накладываются некоторые ограничения.
Записью числа x в смешанной системе счисления называется перечисление его цифр в порядке уменьшения индекса k, начиная с первого ненулевого.
В зависимости от вида bk как функции от k смешанные системы счисления могут быть степенными, показательными и т. п. Когда bk = bk для некоторого b, показательная смешанная система счисления совпадает с b-ричной системой счисления.
Наиболее известным примером смешанной системы счисления являются представление времени в виде количества суток, часов, минут и секунд. При этом величина d дней h часов m минут s секунд соответствует значению
секунд.Факториальная система счисления
В факториальной системе счисления основаниями являются последовательность факториалов bk = k!, и каждое натуральное число x предствляется в виде:
, где .Фибоначчиева система счисления
Основная статья: Фибоначчиева система счисления
Фибоначчиева система счисления основывается на числах Фибоначчи.
,где Fk — числа Фибоначчи,
, при этом в записи не встречается две единицы подряд.8. Перевод чисел из одной системы в другую
Допустим, вам дано двоичное число 110001. Для перевода в десятичное просто запишите его справа налево как сумму по разрядам следующим образом:
Преобразование дробных двоичных чисел в десятичные
Нужно перевести число 101101010.101 в десятичную систему. Запишем это число следующим образом:
Восьмери́чная систе́ма счисле́ния — позиционная целочисленная система счисления с основанием 8. Для представления чисел в ней используются цифры 0 до 7.
Восьмеричная система часто используется в областях, связанных с цифровыми устройствами. Характеризуется лёгким переводом восьмеричных чисел в двоичные и обратно, путём замены восьмеричных чисел на триплеты двоичных. Ранее широко использовалась в программировании и вообще компьютерной документации, однако в настоящее время почти полностью вытеснена шестнадцатеричной. В восьмеричной системе указываются права доступа для команды в Unix-подобных операционных системах.
Таблица перевода восьмеричных чисел в двоичные
08 = 0002
18 = 0012
28 = 0102
38 = 0112
48 = 1002
58 = 1012
68 = 1102
78 = 1112
Для перевода восьмеричного числа в двоичное необходимо заменить каждую цифру восьмеричного числа на триплет двоичных цифр.
Например: 25418 = 010 101 100 001 = 0101011000012
Перевод чисел из шестнадцатеричной системы в десятичную
Для перевода шестнадцатеричного числа в десятичное необходимо это число представить в виде суммы произведений степеней основания шестнадцатеричной системы счисления на соответствующие цифры в разрядах шестнадцатеричного числа.
Например, требуется перевести шестнадцатеричное число 5A3 в десятичное. В этом числе 3 цифры. В соответствии с вышеуказанным правилом представим его в виде суммы степеней с основанием 16:
5A316 = 3·160+10·161+5·16І = 3·1+10·16+5·256 = 3+160+1280 = 144310
Перевод чисел из двоичной системы в шестнадцатеричную
Для перевода многозначного двоичного числа в шестнадцатеричную систему нужно разбить его на тетрады справа налево и заменить каждую тетраду соответствующей шестнадцатеричной цифрой.