Итак, что же такое системы счисления?
Системой счисления называют способ записи чисел с помощью заданного набора специальных знаков или цифр.
В двоичной системе счисления всего два таких знака, это 0 и 1. Двоичная система счисления используется в вычислительных машинах. Выбор двоичной системы объясняется тем, что электронные элементы, из которых строились и строятся ЭВМ, могут находиться только в двух хорошо различимых устойчивых рабочих состояниях. Словом, эти элементы представляются нам в роли выключателей. А как мы все знаем, выключатель может быть включен или выключен. Третьего не дано. Одно из состояний выключателя обозначается 0, а другое — 1.
Итак, перейдём непосредственно к теме нашей статьи. Как же переводить
- Развёрнутая запись двоичного числа может выглядеть так:
A = 1 • 22 + 0 • 21 + 1 • 20 + 0 • 2^(-1) + 1 • 2^(-2). (^ — знак степени).
А свёрнутая форма этого же числа выглядит уже так: А = 101,01.
В общем случае в двоичной системе запись числа А, которое содержит n целых разрядов и m дробных разрядов числа, выглядит так:
А = a (n-1) • 2^(n-1) + a (n-2) • 2^(n-2) +…a (0) • 20 + a (-1) • 2^(-1)+…a (-m) • 2^(-m).
Коэффициент a (i) в этой записи являются цифрами (0 или 1) двоичного числа, которое в свёрнутой форме записывается так:
A = a (n-1) a (n-2)…a (0), a (-1) a (-2) a (-m).
Теперь я предоставляю вашему вниманию алгоритм перевода целых десятичных чисел в двоичную систему счисления.
Пусть А (цд) — целое десятичное число. Запишем его в виде суммы степеней основания 2 с двоичными коэффициентами. В его записи в развёрнутой форме будут отсутствовать отрицательные степени основания (числа 2):
A (цд) = a (n-1) • 2^(n-1) + a (n-2) • 2^(n-2) + … + a (1) • 21 + a (0) • 20.
На первом шаге разделим число А (цд) на основание двоичной системы, то есть на 2. Частное от деления будет равно:
a (n-1) • 2^(n-2) + a (n-2) • 2^(n-3) + … + a (1), а остаток равен a (0).
На втором шаге целое частное опять разделим на 2, остаток от деления будет теперь равен a (1).
Если продолжать этот процесс деления, то после n-го шага получим последовательность остатков:
a (0), a (1),…, a (n-1).
Легко заметить, что их последовательность совпадает с обратной последовательностью цифр целого двоичного числа, записанного в свёрнутой форме:
A (2) = a (n-1)…a (1)a (0).
Таким образом, достаточно записать остатки в обратной последовательности, чтобы получить искомое двоичное число.
Тогда сам алгоритм будет следующим:
- Последовательно выполнять деление исходного целого десятичного числа и получаемых целых частных на основание системы (на 2) до тех пор, пока не получится частное, меньшее делителя, то есть меньше 2.
- Записать полученные остатки в обратной последовательности, а слева добавить последнее частное.
А теперь рассмотрим алгоритм перевода правильных десятичных дробей в
двоичную систему счисления.
Пусть А (дд) — правильная десятичная дробь. В её записи в развёрнутой форме будут отсутствовать положительные степени основания (числа 2):
A (дд) = a (-1) • 2^(-1) + a (-2) • 2(-2) + …
На первом шаге умножим число A (дд) на основание двоичной системы, то есть на 2. Произведение будет равно:
a (-1) + a (-2) • 2^(-1) + … Целая часть будет равна a (-1).
На втором шаге оставшуюся дробную часть опять умножим на 2, получим целую часть, равную a (-2).
Описанный процесс необходимо продолжать до тех пор, пока в результате умножения мы не получим нулевую дробную часть или не будет достигнута требуемая точность вычислений.
И тут легко заметить, что последовательность полученных чисел совпадает с последовательностью цифр дробного двоичного числа, записанного в свёрнутой форме: A (2) = a (-1)a (-2)…
А теперь алгоритм:
- Последовательно выполнять умножение исходной десятичной дроби и получаемых дробных частей произведений на основание системы (на 2) до тех пор, пока не получится нулевая дробная часть или не будет достигнута требуемая точность вычислений.
- Записать полученные целые части произведения в прямой последовательности.Реклама
И напоследок хотелось бы рассказать о переводе чисел из восьмеричной и шестнадцатеричной систем счисления в двоичную.
Для перевода чисел из восьмеричной и шестнадцатеричной систем счисления в двоичную необходимо цифры числа преобразовать в группы двоичных цифр. Для перевода из восьмеричной системы в двоичную каждую цифру числа надо преобразовать в группу из трёх двоичных цифр — триаду, а при преобразовании шестнадцатеричного числа — в группу из четырёх цифр, тетраду. И, как видите, всё очень просто!
Надеюсь, что прочитавшие мою статью смогут без проблем выполнять операции перевода, как это делаю я.