Десятично-двоичное преобразование целых чисел

Рассмотрим преобразование чисел из десятичной системы счисления в двоичную и обратно.

Преобразуем десятичное число 12 в двоичное. Для этого разделим его на основание той системы счисления, в которую переводим число. В данном случае будем делить на 2. Воспользуемся обозначениями, принятыми в языке С++:

/ - деление (в том числе и целочисленное)

% - остаток от целочисленного деления

I шаг. 12 / 2 = 6 делим 12 на 2 нацело.

12 % 2 = 0 вычисляем остаток от деления и получаем число,

соответствующее разряду с весом 0.

II шаг. 6 / 2 = 3 делим результат целочисленного деления на 2.

6 % 2 = 0 вычисляем остаток от деления и получаем число,

соответствующее разряду с весом 1.

III шаг. 3 / 2 = 1 делим результат целочисленного деления на 2.

3 % 2 = 1 вычисляем остаток от деления и получаем число,

соответствующее разряду с весом 2.

IV шаг. 1 / 2 = 0 делим результат целочисленного деления на 2.

Получение нулевого значения служит

признаком завершения преобразования.

1 % 2 = 1 вычисляем остаток от целочисленного деления и получаем число, соответствующее разряду с весом 3

Расположив остатки от целочисленного деления в соответствии с весами их разрядов, получаем двоичное число: 1100.

Обратные преобразования производятся в соответствии с формулой (1.1):

1100 2 = 1 × 23 + 1 × 22 + 0 × 21 + 0 × 20 = 8 + 4 = 1210

Пример 1.3. Преобразуем десятичное число 37 в двоичную систему счисления и обратно.

37/2=18 37%2=1 2

18/2=9 18%2=0 2

9/2=4 9%2=1 2

4/2=2 4%2=0 2

2/2=1 2%2=0 2

1/2=0 1%2=1 2

Получим 100101.

Проведем обратные, то есть двоично–десятичные преобразования, чтобы убедиться в том, что мы все сделали правильно при десятично-двоичных преобразованиях:

1001012 = 1 × 2 + 0 × 2 + 0 × 2 + 1 × 2 + 0 × 2 + 1 × 2 = 3710


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: