Конвертация десятичного числа в двоичное и наоборот
Ввиду устройства памяти современных компьютеров, вся информация хранимая памятью, будь то программные инструкции, цифры, текст, изображения, музыка или видео, все это хранится в виде последовательности цифр 1 и 0. В быту мы пользуемся десятичными числами. Рассмотрим, как переводить числа из десятичных в двоичные и наоборот.
Из десятичной в двоичную
Если мы хотим преобразовать десятичное число в двоичное, нам нужно выяснить, какие числа из двоичной системы столбцов складываются в наше десятичное число. Число, например, 23 мы можем составить из чисел 16 + 4 + 2 + 1 (все они подходят под значения двоичных столбцов). Таким образом, мы можем сказать, что 23 записано в двоичном виде 10111 следующим образом:
128 | 64 | 32 | 16 | 8 | 4 | 2 | 1 |
1 | 0 | 1 | 1 | 1 |
То есть:
2310 = 101112
Такой подход концептуально важен для того, чтобы понять, как происходит конвертация чисел. И хотя он достаточно прост в использовании для небольших чисел, им становится сложнее пользоваться при работе с большими числами. Поэтому для таких вычислений нужен более методичный подход.
Такой подход существует. Он представляет собой деление целевого числа на 2 с остатком. Нужно записать число, разделить его на 2 в столбик, записать целое, затем разделить на 2 остаток, и продолжать деление до тех пор, пока в результате деления не окажется 0. Когда деление закончено, в обратном порядке выписывается остаток, и этот порядок образует в итоге эквивалентное заданному двоичное число.
Возможно, не совсем очевидно, почему этот подход дает нам результат, к которому мы стремимся, но если мы снова пройдем этот процесс, используя 13 шариков, то картина должна стать более четкой (см. рис. 2).
Из двоичной в десятичную
Чтобы перевести число, записанное в двоичной системе счислений, нужно взять значение из каждого столбца (рис.3) содержащего единицу - 1 и сложить их вместе. Получится эквивалентное число, записанное в десятичной системе.
Тут все достаточно просто. Для закрепления результата предлагаю попробовать самостоятельно перевести следующие двоичные числа: а) 00101001, b) 11111111, c) 10101010.