Рассмотрим преобразование чисел из десятичной системы счисления в двоичную и обратно.
Преобразуем десятичное число 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