Как быстро перевести из двоичной в десятичную. Порядковый счет в различных системах счисления


Чтобы быстро переводить числа из десятичной системы счисления в двоичную, нужно хорошо знать числа "2 в степени". Например, 2 10 =1024 и т.д. Это позволит решать некоторые примеры на перевод буквально за секунды. Одной из таких задач является задача A1 из демо ЕГЭ 2012 года . Можно, конечно, долго и нудно делить число на "2". Но лучше решать по-другому, экономя драгоценное время на экзамене.

Метод очень простой. Суть его такая: если число, которое нужно перевести из десятичной системы, равно числу "2 в степени", то это число в двоичной системе содержит количество нулей, равное степени. Впереди этих нулей добавляем "1".

  • Переведем число 2 из десятичной системы. 2=2 1 . Поэтому в двоичной системе число содержит 1 нуль . Впереди ставим "1" и получаем 10 2 .
  • Переведем 4 из десятичной системы. 4=2 2 . Поэтому в двоичной системе число содержит 2 нуля . Впереди ставим "1" и получаем 100 2.
  • Переведем 8 из десятичной системы. 8=2 3 . Поэтому в двоичной системе число содержит 3 нуля . Впереди ставим "1" и получаем 1000 2.


Аналогично и для других чисел "2 в степени".

Если число, которое нужно перевести, меньше числа "2 в степени" на 1, то в двоичной системе это число состоит только из единиц, количество которых равно степени.

  • Переведем 3 из десятичной системы. 3=2 2 -1. Поэтому в двоичной системе число содержит 2 единицы . Получаем 11 2.
  • Переведем 7 из десятичной системы. 7=2 3 -1. Поэтому в двоичной системе число содержит 3 единицы . Получаем 111 2.

На рисунке квадратиками обозначено двоичное представление числа, а слева розовым цветом-десятичное.


Аналогичен перевод и для других чисел "2 в степени-1".

Понятно, что перевод чисел от 0 до 8 можно сделать быстро или делением, или просто знать наизусть их представление в двоичной системе. Я привела эти примеры, чтобы Вы поняли принцип данного метода и использовали его для перевода более "внушительных чисел", например, для перевода чисел 127,128, 255, 256, 511, 512 и т.д.

Можно встретить такие задачи, когда нужно перевести число, не равное числу "2 в степени", но близкое к нему. Оно может быть больше или меньше числа "2 в степени". Разница между переводимым числом и числом "2 в степени" должна быть небольшая. Например, до 3. Представление чисел от 0 до 3 в двоичной системе надо просто знать без перевода.

Если число больше , то решаем так:

Переводим сначала число "2 в степени" в двоичную систему. А потом прибавляем к нему разницу между числом "2 в степени" и переводимым числом.

Например, переведем 19 из десятичной системы. Оно больше числа "2 в степени" на 3.

16=2 4 . 16 10 =10000 2 .

3 10 =11 2 .

19 10 =10000 2 +11 2 =10011 2 .

Если число меньше числа "2 в степени", то удобнее пользоваться числом "2 в степени-1". Решаем так:

Переводим сначала число "2 в степени-1" в двоичную систему. А потом вычитаем из него разницу между числом "2 в степени-1" и переводимым числом.

Например, переведем 29 из десятичной системы. Оно больше числа "2 в степени-1" на 2. 29=31-2.

31 10 =11111 2 .

2 10 =10 2 .

29 10 =11111 2 -10 2 =11101 2

Если разница между переводимым числом и числом "2 в степени" больше трех , то можно разбить число на составляющие, перевести каждую часть в двоичную систему и сложить.

Например, перевести число 528 из десятичной системы. 528=512+16. Переводим отдельно 512 и 16.
512=2 9 . 512 10 =1000000000 2 .
16=2 4 . 16 10 =10000 2 .
Теперь сложим столбиком:

Впервые позиционная система счисления возникла в древнем Вавилоне. В Индии система работает в виде

позиционной десятичной нумерации с использованием нуля, у индусов данную систему чисел

позаимствовала арабская нация, у них, в свою очередь, взяли европейцы. В Европе эту систему стали

называть арабской.

Позиционная система — значение всех цифр зависит от позиции (разряда) данной цифры в числе.

Примеры, стандартная 10-я система счисления - это позиционная система. Допустим дано число 453.

Цифра 4 обозначает сотни и соответствует числу 400, 5 — кол-во десятков и соответствует значению 50,

а 3 — единицы и значению 3. Легко заметить, что с увеличением разряда увеличивается значение.

Таким образом, заданное число запишем в виде суммы 400+50+3=453.

Двоичная система счисления.

Здесь только 2 цифры - это 0 и 1. Основание двоичной системы - число 2.

Цифра, которая находится с самого края справа, указывает количество единиц, вторая цифра -

Во всех разрядах возможна лишь одна цифра — или нуль, или единица.

С помощью двоичной системы счисления возможно закодировать всякое натуральное число, представив

это число в виде последовательности нулей и единиц.

Пример: 10112 = 1*2 3 + 0*2*2+1*2 1 +1*2 0 =1*8 + 1*2+1=1110

Двоичную систему счисления, как и десятичную систему счисления , зачастую используют в вычислительной

технике. Текст и числа компьютер хранит в своей памяти в двоичном коде и программным способом преобразует

в изображение на экране.

Сложение, вычитание и умножение двоичных чисел.

Таблица сложения в двоичной системе счисления:

10 (перенос в

старший разряд)

Таблица вычитания в двоичной системе счисления:

(заём из старшего

разряда) 1

Пример сложения «столбиком» (14 10 + 5 10 = 19 10 или 1110 2 + 101 2 = 10011 2):

+ 1 1 1 0
1 0 1
1 0 0 1 1

Таблица умножения в двоичной системе счисления:

Пример умножения «столбиком» (14 10 * 5 10 = 70 10 или 1110 2 * 101 2 = 1000110 2):

* 1 1 1 0
1 0 1
+ 1 1 1 0
1 1 1 0
= 1 0 0 0 1 1 0

Преобразование чисел в двоичной системе счисления.

Для преобразования из двоичной системы в десятичную пользуются следующей таблицей степеней

основания 2:

Начиная с цифры один каждая цифра умножается на 2. Точка, стоящая после 1, называют двоичной точкой .

Преобразование двоичных чисел в десятичные.

Пусть, есть двоичное число 110001 2 . Для перевода в десятичное записываем его в виде суммы по

разрядам следующим образом:

1 * 2 5 + 1 * 2 4 + 0 * 2 3 + 0 * 2 2 + 0 * 2 1 + 1 * 2 0 = 49

Немного по другому:

1 * 32 + 1 * 16 + 0 * 8 + 0 * 4 + 0 * 2 + 1 * 1 = 49

Также хорошо записывать расчет как таблицу:

Двигаемся справа налево. Под всеми двоичными единицами записываем её эквивалент строчкой ниже.

Преобразование дробных двоичных чисел в десятичные.

Задание: перевести число 1011010, 101 2 в десятичную систему.

Записываем заданное число в таком виде:

1*2 6 +0*2 5 +1*2 4 +1*2 3 +0 *2 2 + 1 * 2 1 + 0 * 2 0 + 1 * 2 -1 + 0 * 2 -2 + 1 * 2 -3 = 90,625

Другой вариант записи:

1*64+0*32+1*16+1*8+0*4+1*2+0*1+1*0,5+0*0,25+1*0,125 = 90,625

Либо в виде таблицы:

0.25

0.125

0.125

Преобразование десятичных чисел в двоичные.

Пусть, необходимо перевести число 19 в двоичное. Можем сдеать это таким образом:

19 /2 = 9 с остатком 1

9 /2 = 4 c остатком 1

4 /2 = 2 без остатка 0

2 /2 = 1 без остатка 0

1 /2 = 0 с остатком 1

То есть, каждое частное делится на 2 и записывается остаток в конец двоичной записи. Деление

продолжается до того момента, когда в частном не будет нуля. Итог пишем справа налево. Т.е. нижняя

цифра (1) будет крайней левой и так далее. Итак, у нас получилось число 19 в двоичной записи: 10011.

Преобразование дробных десятичных чисел в двоичные.

Когда в заданном числе присутствует целая часть, то ее преобразуют отдельно от дробной. Перевод

дробного числа из десятичной системы счисления в двоичную происходит следующим образом:

  • Дробь умножается на основание двоичной системы счисления (2);
  • В полученном произведении выделяется целая часть, которая принимается в качестве старшего

разряда числа в двоичной системе счисления;

  • Алгоритм завершается, если дробная часть полученного произведения равна нулю или если

достигнута требуемая точность вычислений. В противном случае вычисления продолжаются над

дробной частью произведения.

Пример : Нужно перевести дробное десятичное число 206,116 в дробное двоичное число.

Переведя целую часть, получаем 206 10 =11001110 2 . Дробная часть 0,116 умножается на основание 2,

заносим целые части произведения в разряды после запятой:

0,116 . 2 = 0,232

0,232 . 2 = 0,464

0,464 . 2 = 0,928

0,928 . 2 = 1,856

0,856 . 2 = 1,712

0,712 . 2 = 1,424

0,424 . 2 = 0,848

0,848 . 2 = 1,696

0,696 . 2 = 1,392

0,392 . 2 = 0,784

Результат: 206,116 10 ≈ 11001110,0001110110 2

Алгоритм перевода чисел из одной системы счисления в другую.

1. Из десятичной системы счисления:

  • делим число на основание переводимой системы счисления;
  • находим остаток от деления целой части числа;
  • записываем все остатки от деления в обратном порядке;

2. Из двоичной системы счисления:

  • для перевода в десятичную систему счисления находим сумму произведений основания 2 на

соответствующую степень разряда;

Фраза о том, что все новое - это не что иное, как хорошо забытое старое, в полной мере относится к Оказывается, что еще в древнем Китае уже применяли нечто, напоминающее наши «единичка-нолик», правда не для арифметики, а для написания текстов книги Перемен. Ближе всех к пониманию разных систем счисления были инки: они использовали и десятичную, и двоичную системы, правда, последнюю только для текстовых и кодированных сообщений. Можно предположить, что уже тогда, 4 тыс. лет назад, инки знали, как делается перевод из двоичной в десятичную систему.

Современный вариант был предложен Лейбницем всего-то около 300 лет назад, а спустя еще полтора века оставил свое имя в памяти потомков работой по алгебре логики. Двоичная арифметика совместно с алгеброй логики стала фундаментом нынешней цифровой техники. А началось все в 1937 году, когда был предложен метод символического анализа релейных и переключательных схем. Эта работа Клода Шенона стала «мамой» для релейного компьютера, выполнявшего двоичное сложение уже в 1937 году. И, конечно же, одной из задач этого «прадедушки» современных компьютеров был перевод из двоичной в десятичную систему.

Прошло всего три года и очередная модель релейного «компьютера» посылала команды калькулятору используя телефонную линию и телетайп - ну прямо древний интернет в действии.

Что же представляют собой двоичная, десятичная, шестнадцатеричная и, вообще говоря, любая N-ичная система? Да ничего сложного. Возьмем трехзначное число в нашей любимой десятичной системе, оно изображается при помощи 10 знаков - от 0 до 9 с учетом их расположения. Определимся, что цифры этого числа находятся на позициях 0, 1, 2 (порядок идет от последней цифры к первой). На каждой из позиций может находиться любое из чисел системы, однако величина этого числа определяется не только его начертанием, но и местом положения. Например, для числа 365 (соответственно, позиция 0 - цифра 5, позиция 1 - цифра 6, и позиция 2 - цифра 3) значение числа на нулевой позиции - просто 5, на первой позиции - 6*10, и на второй - 3*10*10. Здесь любопытно, что начиная с первой позиции, число содержит значащую цифру (от 0 до 9) и основание системы в степени равной номеру позиции, т.е. можно записать, что 345 = 3*10*10 + 6*10 +3 = 3*102 + 6*101 + 5*100.

Еще пример:

260974 = 2*105 + 6*104 + 0*103 + 9*102 + 7*101 + 4*100.

Как видим, каждое позиционное место содержит значащее число из набора данной системы, и множитель из основания системы в степени равной позиции данного числа (разрядность числа это есть количество позиций, но на +1 больше).

С точки зрения представления числа, его двоичная форма озадачивает своей простотой - только 2 числа в системе - 0 и 1. Но красота математики в том, что даже в усеченном виде, как может показаться, двоичные числа такие же полноценные и равноправные, как и их более «рослые товарищи». Но как же их сравнивать, например, с десятичным числом? Как вариант, нужно сделать, и не торопясь, перевод из двоичной в десятичную. Задачу не назовешь трудной, но эта кропотливая работа требует внимания. Итак, начнем.

Исходя из сказанного выше о порядке представления чисел в любой системе, и имея в виду простейшую из них - двоичную, возьмем любую последовательность «единичек-ноликов». Назовем это число VO (по-русски ВО), и попробуем узнать, что это такое - перевод из двоичной в десятичную систему. Пусть это будет VO=11001010010. На первый взгляд, число как число. Посмотрим!

В первой строке расположим само число в растянутом виде, а вторую распишем как сумму каждой позиции в виде сомножителей - значащей цифры (здесь выбор небольшой - 0 или 1) и числа 2 в степени, равной позиционному числу в десятичной системе, мы же делаем перевод из двоичной в десятичную. Теперь во второй строке нужно просто выполнить вычисления. Для наглядности можно дописать еще и третью строку с промежуточными вычислениями.

VO = 1 1 0 0 1 0 1 0 0 1 0;

VO = 1*210 + 1*29 + 0*28 + 0*27 + 1*26 + 0*25 + 1*24 + 0*23 + 0*22 + 1*21 + 0*20;

VO=1*1024 + 1*512+0*256+0*128+ 1*64 + 0*32 + 1*16 + 0*8 +0*4 + 1*2 + 0*1.

Вычисляем «арифметику» в третьей строке и имеем то, что искали: VO = 1618. Ну и что же тут замечательного? А то, что это число - самое знаменитое из всех, которые известны людям: с ним связаны пропорции египетских пирамид, знаменитой Джоконды, музыкальных нот и человеческого тела, но… Но с небольшим уточнением - зная, что хорошего должно быть много, его величество случай дал нам это число в 1000 раз больше настоящего значения - 1,618. Наверное, чтобы всем досталось. А попутно перевод из двоичной системы в десятичную помог из бесконечного моря чисел «выловить» самое замечательное - его еще называют «золотая пропорция».

Замечание 1

Если вы хотите перевести число из одной системы счисления в другую, то удобнее для начала перевести его в десятичную систему счисления, и уже только потом из десятичной перевести в любую другую систему счисления.

Правила перевода чисел из любой системы счисления в десятичную

В вычислительной технике, использующей машинную арифметику, большую роль играет преобразование чисел из одной системы счисления в другую. Ниже приведем основные правила таких преобразований (переводов).

    При переводе двоичного числа в десятичное требуется представить двоичное число в виде многочлена , каждый элемент которого представлен в виде произведения цифры числа и соответствующей степени числа основания, в данном случае $2$, а затем нужно вычислить многочлен по правилам десятичной арифметики:

    $X_2=A_n \cdot 2^{n-1} + A_{n-1} \cdot 2^{n-2} + A_{n-2} \cdot 2^{n-3} + ... + A_2 \cdot 2^1 + A_1 \cdot 2^0$

Рисунок 1. Таблица 1

Пример 1

Число $11110101_2$ перевести в десятичную систему счисления.

Решение. Используя приведенную таблицу $1$ степеней основания $2$, представим число в виде многочлена:

$11110101_2 = 1 \cdot 27 + 1 \cdot 26 + 1 \cdot 25 + 1 \cdot 24 + 0 \cdot 23 + 1 \cdot 22 + 0 \cdot 21 + 1 \cdot 20 = 128 + 64 + 32 + 16 + 0 + 4 + 0 + 1 = 245_{10}$

    Для перевода числа из восьмеричной системы счисления в десятичную требуется представить его в виде многочлена, каждый элемент которого представлен в виде произведения цифры числа и соответствующей степени числа основания, в данном случае $8$, а затем нужно вычислить многочлен по правилам десятичной арифметики:

    $X_8 = A_n \cdot 8^{n-1} + A_{n-1} \cdot 8^{n-2} + A_{n-2} \cdot 8^{n-3} + ... + A_2 \cdot 8^1 + A_1 \cdot 8^0$

Рисунок 2. Таблица 2

Пример 2

Число $75013_8$ перевести в десятичную систему счисления.

Решение. Используя приведенную таблицу $2$ степеней основания $8$, представим число в виде многочлена:

$75013_8 = 7\cdot 8^4 + 5 \cdot 8^3 + 0 \cdot 8^2 + 1 \cdot 8^1 + 3 \cdot 8^0 = 31243_{10}$

    Для перевода числа из шестнадцатеричной системы счисления в десятичную необходимо его представить в виде многочлена, каждый элемент которого представлен в виде произведения цифры числа и соответствующей степени числа основания, в данном случае $16$, а затем нужно вычислить многочлен по правилам десятичной арифметики:

    $X_{16} = A_n \cdot 16^{n-1} + A_{n-1} \cdot 16^{n-2} + A_{n-2} \cdot 16^{n-3} + ... + A_2 \cdot 16^1 + A_1 \cdot 16^0$

Рисунок 3. Таблица 3

Пример 3

Число $FFA2_{16}$ перевести в десятичную систему счисления.

Решение. Используя приведенную таблицу $3$ степеней основания $8$, представим число в виде многочлена:

$FFA2_{16} = 15 \cdot 16^3 + 15 \cdot 16^2 + 10 \cdot 16^1 + 2 \cdot 16^0 =61440 + 3840 + 160 + 2 = 65442_{10}$

Правила перевода чисел из десятичной системы счисления в другую

  • Для перевода числа из десятичной системы счисления в двоичную его необходимо последовательно делить на $2$ до тех пор, пока не останется остаток, меньший или равный $1$. Число в двоичной системе представить как последовательность последнего результата деления и остатков от деления в обратном порядке.

Пример 4

Число $22_{10}$ перевести в двоичную систему счисления.

Решение:

Рисунок 4.

$22_{10} = 10110_2$

  • Для перевода числа из десятичной системы счисления в восьмеричную его необходимо последовательно делить на $8$ до тех пор, пока не останется остаток, меньший или равный $7$. Число в восьмеричной системе счисления представить как последовательность цифр последнего результата деления и остатков от деления в обратном порядке.

Пример 5

Число $571_{10}$ перевести в восьмеричную систему счисления.

Решение:

Рисунок 5.

$571_{10} = 1073_8$

  • Для перевода числа из десятичной системы счисления в шестнадцатеричную систему его необходимо последовательно делить на $16$ до тех пор, пока не останется остаток, меньший или равный $15$. Число в шестнадцатеричной системе представить как последовательность цифр последнего результата деления и остатков от деления в обратном порядке.

Пример 6

Число $7467_{10}$ перевести в шестнадцатеричную систему счисления.

Решение:

Рисунок 6.

$7467_{10} = 1D2B_{16}$

    Для того чтобы перевести правильную дробь из десятичной системы счисления в недесятичную, необходимо дробную часть преобразуемого числа последовательно умножить на основание той системы, в которую ее требуется перевести. Дробь в новой системе будет представлена в виде целых частей произведений, начиная с первого.

    Например: $0,3125_{(10)}$ в восьмеричной системе счисления будет выглядеть как $0,24_{(8)}$.

    В данном случае можно столкнуться с проблемой, когда конечной десятичной дроби может соответствовать бесконечная (периодическая) дробь в недесятичной системе счисления. В данном случае количество знаков в дроби, представленной в новой системе, будет зависеть от требуемой точности. Также нужно отметить, что целые числа остаются целыми, а правильные дроби - дробями в любой системе счисления.

Правила перевода чисел из двоичной системы счисления в другую

  • Чтобы перевести число из двоичной системы счисления в восьмеричную, его необходимо разбить на триады (тройки цифр), начиная с младшего разряда, в случае необходимости дополнив старшую триаду нулями, затем каждую триаду заменить соответствующей восьмеричной цифрой согласно таблице 4.

Рисунок 7. Таблица 4

Пример 7

Число $1001011_2$ перевести в восьмеричную систему счисления.

Решение . Используя таблицу 4, переведем число из двоичной системы счисления в восьмеричную:

$001 001 011_2 = 113_8$

  • Чтобы перевести число из двоичной системы счисления в шестнадцатеричную, его следует разбить на тетрады (четверки цифр), начиная с младшего разряда, в случае необходимости дополнив старшую тетраду нулями, затем каждую тетраду заменить соответствующей восьмеричной цифрой согласно таблице 4.






2024 © gtavrl.ru.