Перевод чисел из десятичной системы в двоичную
Для перевода чисел из десятичной системы счисления в двоичную используют так называемый "алгоритм замещения", состоящий из следующей последовательности действий:
Делим десятичное число А на 2. Частное Q запоминаем для следующего шага, а остаток a записываем как младший бит двоичного числа.
Если частное q не равно 0, принимаем его за новое делимое и повторяем процедуру, описанную в шаге 1. Каждый новый остаток (0 или 1) записывается в разряды двоичного числа в направлении от младшего бита к старшему.
Алгоритм продолжается до тех пор, пока в результате выполнения шагов 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, основание восьмеричной системы счисления:
Делим десятичное число А на 8. Частное Q запоминаем для следующего шага, а остаток a записываем как младший бит восьмеричного числа.
Если частное q не равно 0, принимаем его за новое делимое и повторяем процедуру, описанную в шаге 1. Каждый новый остаток записывается в разряды восьмеричного числа в направлении от младшего бита к старшему.
Алгоритм продолжается до тех пор, пока в результате выполнения шагов 1 и 2 не получится частное Q = 0 и остаток a меньше 8.
Например, требуется перевести десятичное число 3336 в восьмеричное. В соответствии с приведенным алгоритмом получим: 3336 : 8 = 417
3336 - 3336 = 0, остаток 0 записываем в МБ восьмеричного числа.
417 : 8 = 52
417 - 416 = 1, остаток 1 записываем в следующий после МБ разряд восьмеричного числа.
52 : 8 = 6
52 - 48 = 4, остаток 4 записываем в старший разряд восьмеричного числа.
6 : 8 = 0, остаток 0, записываем 6 в самый старший разряд восьмеричного числа.
Таким образом, искомое восьмеричное число равно 64108.
Перевод чисел из десятичной системы в шестнадцатеричную
Для перевода чисел из десятичной системы счисления в шестнадцатеричную используют тот же "алгоритм замещения", что и при переводе из десятичной системы счисления в двоичную и восьмеричную, только в качестве делителя используют 16, основание шестнадцатеричной системы счисления:
Делим десятичное число А на 16. Частное Q запоминаем для следующего шага, а остаток a записываем как младший бит шестнадцатеричного числа.
Если частное q не равно 0, принимаем его за новое делимое и повторяем процедуру, описанную в шаге 1. Каждый новый остаток записывается в разряды шестнадцатеричного числа в направлении от младшего бита к старшему.
Алгоритм продолжается до тех пор, пока в результате выполнения шагов 1 и 2 не получится частное Q = 0 и остаток a меньше 16.
Например, требуется перевести десятичное число 32767 в шестнадцатеричное. В соответствии с приведенным алгоритмом получим: 32767 : 16 = 2047
32767 - 32752 = 15, остаток 15 в виде F записываем в МБ шестнадцатеричного числа.
2047 : 16 = 127
2047 - 2032 = 15, остаток 15 в виде F записываем в следующий после МБ разряд шестнадцатеричного числа.
127 : 16 = 7
127 - 112 = 15, остаток 15 в виде F записываем в старший разряд шестнадцатеричного числа.
7 : 16 = 0, остаток 7 записываем в старший разряд шестнадцатеричного числа.
Таким образом, искомое шестнадцатеричное число равно 7FFF16.