Прочее компьютерное

Как перевести число из десятичной системы счисления в двоичную, и наоборот?

Для перевода чисел из десятичной системы счисления в двоичную используют так называемый "алгоритм замещения", состоящий из следующей последовательности действий:

Делим десятичное число А на 2.

Частное Q запоминаем для следующего шага, а остаток a записываем как младший бит двоичного числа.

Если частное q не равно 0, принимаем его за новое делимое и повторяем процедуру, описанную в шаге 1.

Каждый новый остаток (0 или 1) записывается в разряды двоичного числа в направлении от младшего бита к старшему.

Алгоритм продолжается до тех пор, пока в результате выполнения шагов 1 и 2 не получится частное Q = 0 и остаток a = 1.

Например, требуется перевести десятичное число 247 в двоичное. В соответствии с приведенным алгоритмом получим:

247 : 2 = 123 247 - 246 = 1, остаток 1 записываем в МБ двоичного числа.

123 : 2 = 61 123 - 122 = 1, остаток 1 записываем в следующий после МБ разряд двоичного числа.

61 : 2 = 30 61 - 60 = 1, остаток 1 записываем в старший разряд двоичного числа.

30 : 2 = 15 30 - 30 = 0, остаток 0 записываем в старший разряд двоичного числа.

15 : 2 = 7 15 - 14 = 1, остаток 1 записываем в старший разряд двоичного числа.

7 : 2 = 3 7 - 6 = 1, остаток 1 записываем в старший разряд двоичного числа.

3 : 2 = 1 3 - 2 = 1, остаток 1 записываем в старший разряд двоичного числа.

1 : 2 = 0, остаток 1 записываем в старший разряд двоичного числа.

Для перевода двоичного числа в десятичное необходимо это число представить в виде суммы произведений степеней основания двоичной системы счисления на соответствующие цифры в разрядах двоичного числа.

Например, требуется перевести двоичное число 10110110 в десятичное. В этом числе 8 цифр и 8 разрядов ( разряды считаются, начиная с нулевого, которому соответствует младший бит) .

В соответствии с уже известным нам правилом представим его в виде суммы степеней с основанием 2:

1011011 = (1·2^7)+(0·2^6)+(1·2^5)+(1·2^4)+(0·2^3)+(1·2^2)+(1·2^1)+(0·2^0) = 128+32+16+4+2 = 182
DC
Dima Cheban
24 457
Лучший ответ
Сергей Емельянцев Спасибо огромное очень доходчиво.
калькулятор - вид - программист
ЁПРСТ)))) ТАМ НАГЛЯДНО НУНО
Дмитрий Полев
Дмитрий Полев
19 711

Похожие вопросы