Для перевода чисел из десятичной системы счисления в двоичную используют так называемый "алгоритм замещения", состоящий из следующей последовательности действий:
1. Делим десятичное число А на 2. Частное Q запоминаем для следующего шага, а остаток a записываем как младший бит двоичного числа.
2. Если частное q не равно 0, принимаем его за новое делимое и повторяем процедуру, описанную в шаге 1. Каждый новый остаток (0 или 1) записывается в разряды двоичного числа в направлении от младшего бита к старшему.
3. Алгоритм продолжается до тех пор, пока в результате выполнения шагов 1 и 2 не получится частное Q = 0 и остаток a = 1.
Например, требуется перевести десятичное число 247 в двоичное. В соответствии с приведенным алгоритмом получим:
24710: 2 = 12310 |
24710 - 24610 = 1, остаток 1 записываем в МБ двоичного числа. |
12310: 2 = 6110 |
12310 - 12210 = 1, остаток 1 записываем в следующий после МБ разряд двоичного числа. |
6110: 2 = 3010 |
6110 - 6010 = 1, остаток 1 записываем в старший разряд двоичного числа. |
3010: 2 = 1510 |
3010 - 3010 = 0, остаток 0 записываем в старший разряд двоичного числа. |
1510: 2 = 710 |
1510 - 1410 = 1, остаток 1 записываем в старший разряд двоичного числа. |
710: 2 = 310 |
710 - 610 = 1, остаток 1 записываем в старший разряд двоичного числа. |
310: 2 = 110 |
310 - 210 = 1, остаток 1 записываем в старший разряд двоичного числа. |
110: 2 = 010, остаток 1 записываем в старший разряд двоичного числа. |
Таким образом, искомое двоичное число равно 111101112.
|
|
Перевод чисел из десятичной системы в восьмеричную
Для перевода чисел из десятичной системы счисления в восьмеричную используют тот же "алгоритм замещения", что и при переводе из десятичной системы счисления в двоичную, только в качестве делителя используют 8, основание восьмеричной системы счисления:
1. Делим десятичное число А на 8. Частное Q запоминаем для следующего шага, а остаток a записываем как младший бит восьмеричного числа.
2. Если частное q не равно 0, принимаем его за новое делимое и повторяем процедуру, описанную в шаге 1. Каждый новый остаток записывается в разряды восьмеричного числа в направлении от младшего бита к старшему.
3. Алгоритм продолжается до тех пор, пока в результате выполнения шагов 1 и 2 не получится частное Q = 0 и остаток a меньше 8.
Например, требуется перевести десятичное число 3336 в восьмеричное. В соответствии с приведенным алгоритмом получим:
333610: 8 = 41710 |
333610 - 333610 = 0, остаток 0 записываем в МБ восьмеричного числа. |
41710: 8 = 5210 |
41710 - 41610 = 1, остаток 1 записываем в следующий после МБ разряд восьмеричного числа. |
5210: 8 = 610 |
5210 - 4810 = 4, остаток 4 записываем в старший разряд восьмеричного числа. |
610: 8 = 010, остаток 0, записываем 6 в самый старший разряд восьмеричного числа. |
Таким образом, искомое восьмеричное число равно 64108.
|
|