Системы счисления. Перевод чисел
В десятичную систему счисления
из двоичной
101,012 = = 1 * 22 + 0 * 21 + 1 * 20 + 0 * 2-1 + 1 * 2-2 = = 4 + 0 + 1 + 0 + 1/4 = = 5,2510
из восьмеричной
253,318 = = 2 * 82 + 5 * 81 + 3 * 80 + 3 * 8-1 + 1 * 8-2 = = 128 + 40 + 3 + 3/8 + 1/64 = = 171 + 0,375 + 0,015625 = = 171,39062510
из шестнадцатеричной
42D16 = = 4 * 162 + 2 * 161 + 13 * 160 = = 1024 + 32 + 13 = = 106910
Из десятичной системы счисления
При переводе целых чисел из десятичной системы счисления последовательно выполняют деление этого числа и получаемых целых частных на основание выбранной системы счисления. Деление выполняют до тех пор, пока частное не будет равно нулю.
Число получают путем «сбора» остатков, начиная с конца.
в двоичную
34 / 2 = 17 (0) 17 / 2 = 8 (1) 8 / 2 = 4 (0) 4 / 2 = 2 (0) 2 / 2 = 1 (0) 1 / 2 = 0 (1)
3410 = 1000102
в восьмеричную
472 / 8 = 59 (0) 59 / 8 = 7 (3) 7 / 8 = 0 (7)
47210 = 7308
в шестнадцатеричную
924 / 16 = 57 (12) 57 / 16 = 3 (9) 3 / 16 = 0 (3)
92410 = 39C16
Перевод десятичных дробей из десятичной системы счисления
Дробь в десятичной системе счисления последовательно умножают на основание выбранной системы счисления пока не получиться нулевая дробная часть или достигнута требуемая точность. При каждом последующем умножении целая часть отбрасывается. Целые части результатов и составляют новую дробь. Записываются по порядку.
в двоичную дробь
0,225 * 2 = 0,45 0,45 * 2 = 0,9 0,9 * 2 = 1,8 0,8 * 2 = 1,6 0,6 * 2 = 1,2 0,2 * 2 = 0,4 0,4 * 2 = 0,8 0,8 * 2 = 1,6 …
0,22510 = 0,00111001…2
в восьмеричную дробь
0,225 * 8 = 1,8 0,8 * 8 = 6,4 0,4 * 8 = 3,2 0,2 * 8 = 1,6 0,6 * 8 = 4,8 …
0,22510 = 0,16314…8
в шестнадцатеричную дробь
0,225 * 16 = 3,6 0,6 * 16 = 9,6 0,6 * 16 = 9,6 …
Числа в этих системах читаются почти так же легко, как десятичные, требуют соответственно в три (восьмеричная) и в четыре (шестнадцатеричная) раза меньше разрядов, чем в двоичной системе (ведь числа 8 и 16 – соответственно, третья и четвертая степени числа 2).