Перевод из десятичной в двоичную, в восьмеричную, в шестнадцатеричную.
Для выполнения перевода из десятичной в любую другую необходимо пользоваться следующим алгоритмом.
1) Делим десятичное число А на 2 (8 или 16, зависит от основания системы счисления в которую мы переводим.). Частное Q запоминаем для следующего шага, а остаток a записываем как младший бит двоичного числа.
2) Если частное q не равно 0, принимаем его за новое делимое и повторяем процедуру, описанную в шаге 1. Каждый новый остаток записывается в разряды двоичного (восьмиричного или шестнадцатиричного) числа в направлении от младшего бита к старшему.
3) Алгоритм продолжается до тех пор, пока в результате выполнения шагов 1 и 2 не получится частное Q = 0 и остаток a = 1 ( меньше 8, либо меньше 16, для каждой системы счисления соответственно).
Рассмотрим примеры и сразу станет все понятно. Переведем число 247 в 2, 8, 16 - cc (системы счисления).
Перевод в двоичную.
Перевод в восьмеричную.
Перевод в шестнадцатеричную.
Перевод дробных числе из десятичной в двоичную.
Несколько сложнее обстоит дело, если нам требуется перевести дробное число. В таком случае имеет смысл использовать следующий алгоритм.
1) Вначале переводится целая часть десятичной дроби в двоичную систему счисления (точно так как описано в алгоритме выше);
2) Затем дробная часть десятичной дроби умножается на основание двоичной системы счисления;
3) В полученном произведении выделяется целая часть, которая принимается в качестве значения первого после запятой разряда числа в двоичной системе счисления; (данный пункт может звучать дико, особенно если вы сталкиваетесь с этим впервые, но на примере все будет понятнее)
4) Алгоритм завершается, если дробная часть полученного произведения равна нулю или если достигнута требуемая точность вычислений. В противном случае вычисления продолжаются с предыдущего шага.
Пример: переведем 206.116 в двоичную систему.
Целая часть числа находится делением на основание новой.
Дробная часть числа находится умножением на основание новой
Источники:
vestikinc.narod.ru/AB/dec_bin_tr.htm
vestikinc.narod.ru/AB/dec_oct_tr.htm
vestikinc.narod.ru/AB/dec_hex_tr.htm
vestikinc.narod.ru/AB/ni_bin.htm
Просмотры: 7209 |
Статью добавил:
slava191 |
Категория:
информатика