Ввиду устройства памяти современных компьютеров, вся информация хранимая памятью, будь то программные инструкции, цифры, текст, изображения, музыка или видео, все это хранится в виде последовательности цифр 1 и 0. В быту мы пользуемся десятичными числами. Рассмотрим, как переводить числа из десятичных в двоичные и наоборот.

Из десятичной в двоичную

Если мы хотим преобразовать десятичное число в двоичное, нам нужно выяснить, какие числа из двоичной системы столбцов складываются в наше десятичное число. Число, например, 23 мы можем составить из чисел 16 + 4 + 2 + 1 (все они подходят под значения двоичных столбцов). Таким образом, мы можем сказать, что 23 записано в двоичном виде 10111 следующим образом:

1286432168421
10111

То есть:

2310 = 101112

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

Такой подход существует. Он представляет собой деление целевого числа на 2 с остатком. Нужно записать число, разделить его на 2 в столбик, записать целое, затем разделить на 2 остаток, и продолжать деление до тех пор, пока в результате деления не окажется 0. Когда деление закончено, в обратном порядке выписывается остаток, и этот порядок образует в итоге эквивалентное заданному двоичное число.

Convering to binaryрис. 1

Возможно, не совсем очевидно, почему этот подход дает нам результат, к которому мы стремимся, но если мы снова пройдем этот процесс, используя 13 шариков, то картина должна стать более четкой (см. рис. 2).

conv-with-pebblesрис. 2

 

Из двоичной в десятичную

Чтобы перевести число, записанное в двоичной системе счислений, нужно взять значение из каждого столбца (рис.3) содержащего единицу — 1 и сложить их вместе. Получится  эквивалентное число, записанное в десятичной системе.

Конвертация из десятичной в двоичную системурис.3

Тут все достаточно просто. Для закрепления результата предлагаю попробовать самостоятельно перевести следующие двоичные числа: а) 00101001, b) 11111111, c) 10101010.

Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.

Поделиться записью:

Вы можете оставить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

Используйте данные HTML тэги и атрибуты:

<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code class="" title="" data-url=""> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong> <pre class="" title="" data-url=""> <span class="" title="" data-url="">

Сообщить об опечатке

Текст, который будет отправлен нашим редакторам: