Сначала посмотрим, какое из чисел больше. Как в обычной арифметике: если вдруг надо вычесть из меньшего большее, мы вычитаем из большего меньшее и ставим в ответе знак минус. Требуется сделать вычитание (группировка разрядов по 4 сделана для удобства чтения): 111 0001 1011 - 101 0011 0101
Тут все хорошо, из большего вычитается меньшее. Вычитаем "в столбик", как обычные числа, но помним, что система счисления двоичная, поэтому когда из 0 вычитается единица, то мы "занимаем единичку" у старшего разряда, уменьшая его на 1. Но, поскольку цифр-то всего две - 0 и 1, то заняв единицу в старшем разряде, мы понимаем, что там останется 0 или 1. А когда мы занимаем единицу? Да лишь тогда, когда от 0 должны отнять 1. Единичка из старшего разряда - это 10₂, т.е. на самом деле обычная десятичная двойка, и после вычитания из 10₂ единицы, получим единицу. Как итог, в разряде: 0-0=0 1-1=0 1-0=1 0-1=1 и при этом в соседнем слева разряде надо тоже вычесть единицу по этим же правилам.
Можно записать две похожих формулировки правила перевода из десятичной системы в двоичную:
Формулировка 1. Для перевода чисел из десятичной системы в двоичную нужно разделить число на 2, где 2 — основание двоичной системы, и записать остаток от деления. Полученное частное снова разделить на 2 и также записать остаток. Повторять действия, пока частное не станет равным 0. Записать все остатки в обратном порядке.
Пример 1: переведем число 36 в двоичную систему счисления:
Формулировка 2. Для перевода чисел из десятичной системы в двоичную нужно разделить число на 2, где 2 — основание двоичной системы, и записать остаток от деления. Полученное частное снова разделить на 2 и также записать остаток. Повторять действия, пока частное не станет равным 1. Записать последнее частное (1) и все остатки в обратном порядке.
Пример 2: переведем число 123 в двоичную систему счисления:
123 / 2 = 61в остатке 1 61 / 2 = 30в остатке 1 30 / 2 = 15в остатке 0 15 / 2 = 7в остатке 1 7 / 2 = 3в остатке 1 3 / 2 = 1в остатке 1 Последняя цифра — 1 И запишем эту последнюю 1 и остатки снизу вверх ↑
12310 = 11110112
|
Вторая формулировка напоминает нам, что первая цифра двоичного числа (кроме нуля, конечно) всегда равна единице и последнее действие можно не записывать, так как оно всегда одинаковое, в остальном она аналогична первой. Именно это правило используется в школе, только применяется запись в столбик, однако разделить число на 2 можно и без столбика : ), а запись получается более аккуратной, чем письмена наискось через всю страницу (к тому же её не сложно представить в электронном виде иначе как графикой) .
И в целом, первое правило более универсальное, оно подходит ко всем системам, выучите его и забудьте все прочие, чему бы там не учили в школе.
Последняя цифра двоичного числа будет нулем, если число четное и единицей, если число нечетное.
При делении целого числа нацело на 2 в остатке может быть либо 0 (если делимое четно) либо 1 (если делимое нечетно) .
При целочисленном делении меньшего числа на большее результатом будет всегда 0, а в остатке — делимое, т. е. исходное число, например: 1/2 = 0 а в остатке получим 1. Проверим 0*2+1=1 (получили 1, т. е. делимое) .
Проверить полученные значения можно с стандартного калькулятора в любой операционной системе. Системы счисления в калькуляторе обозначаются сокращенно: дес — десятичная, бин — двоичная, ост — восьмеричная, хекс — шестнадцатеричная.
Электронное устройство, осуществляющее подобный перевод, называется шифратором.