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

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

Необходимо знать

Система счисления — это способ записи чисел и правила выполнения действий над числами.

Алфавит системы счисления — это совокупность символов, используемых для записи числа.

Основание системы счисления — это количество цифр в алфавите.

Название системы счисления

0, 1, 2, 3, 4, 5, 6, 7

0, 1, 2, 3, 4, 5, 6, 7, 8, 9

0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A , B, C, D, E, F

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

Примеры:

Для примера переведем число 1101101 2 из двоичной системы счисления (далее СС) в десятичную. Нижний индекс 2 указывает, что число 1101101 записано в двоичной системе счисления.

1. Записываем число, которое необходимо перевести из двоичной системы счисления и справа налево над каждой цифрой числа ставим степень, начиная с нулевой:

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

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

1*2 6 + 1*2 5 + 0*2 4 + 1*2 3 + 1*2 2 + 0*1 1 + 1*2 0 = 64 + 32 + 0 + 8 + 4 + 0 + 1 = 10910

При этом необходимо помнить, что любое число в нулевой степени равно единице:

Это интересно

Почему люди используют десятичную систему счисления? Чтобы ответить на этот вопрос достаточно взглянуть на свои руки. Издревле человек считал по пальцам, а их у нас 10.

Автор: Александр Чернышов

Оцените статью, это очень поможет развитию сайта.

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

Алгоритм перевода целого двоичного числа в десятичную систему счисления

Для перевода целого двоичного числа в десятичное, обратимся к развернутой форме записи числа для позиционной системы счисления:

где A — число, q — основание системы счисления, а n — количество разрядов числа.

Зная основание системы счисления (2), выведем формулу перевода:

Пример 1: Перевести число 1010 из двоичной системы в десятичную

Применив выведенную формулу, получим:

10102=1 ∙ 2 3 + 0 ∙ 2 2 + 1 ∙ 2 1 + 0 ∙ 2 0 = 1 ∙ 8 + 0 ∙ 4 + 1 ∙ 2 + 0 ∙ 1 = 8 + 0 + 2 + 0 = 1010

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

Как и в предыдущем случае, для перевода двоичной дроби в десятичную систему, воспользуемся развернутой формой представления дробей в позиционных системах:

где A — число, q — основание системы счисления, n — количество целых разрядов, а m — количество дробных разрядов числа. Зная основание системы счисления (2), выведем формулу перевода:

Пример 2: Перевести число 0,1010 из двоичной системы в десятичную

Применив выведенную формулу, получим:

0.10102=0 ∙ 2 0 + 1 ∙ 2 -1 + 0 ∙ 2 -2 + 1 ∙ 2 -3 + 0 ∙ 2 -4 = 0 ∙ 1 + 1 ∙ 0.5 + 0 ∙ 0.25 + 1 ∙ 0.125 + 0 ∙ 0.0625 = 0 + 0.5 + 0 + 0.125 + 0 = 0.62510

Пример 3: Перевести число 1010,1010 из двоичной системы в десятичную

1010.10102=1 ∙ 2 3 + 0 ∙ 2 2 + 1 ∙ 2 1 + 0 ∙ 2 0 + 1 ∙ 2 -1 + 0 ∙ 2 -2 + 1 ∙ 2 -3 + 0 ∙ 2 -4 = 1 ∙ 8 + 0 ∙ 4 + 1 ∙ 2 + 0 ∙ 1 + 1 ∙ 0.5 + 0 ∙ 0.25 + 1 ∙ 0.125 + 0 ∙ 0.0625 = 8 + 0 + 2 + 0 + 0.5 + 0 + 0.125 + 0 = 10.62510

Здравствуйте, Хабровцы.
Пост можно было бы назвать: «Для любителей посчитать на пальцах», но это мы узнаем дальше.

Вступление: А что-же тянуть. Все что будет дальше, пойдет на тему подсчета в двоичной системе на пальцах. Кто еще не знает, постараюсь обьяснить, что это, как и зачем это осваивать.
Начну, пожалуй, с преимуществ:
1. Удобно переводить любое число с десятичной в двоичную системы и наоборот, не используя калькулятор.
2. Развивается моторика пальцев.
3. Развивается визуальное восприятие двоичных чисел.
Минусы:
1. Немного тренировки.
2. Нельзя в публичных местах показывать числа 26,27,352,378 и 891.

Суть:
Многим, наверняка, приходилось переводить между системами. И я думаю многие запомнили, что:
2-10
3-11
4-100
5-101
и т.д.
Логично, что исходя из того что каждая разрядность имеет два состояния, мы можем изобразить это дело на пальцах.
Поставьте перед собой руку (ладонью к себе), согните большой палец. Вот и есть единица. Разогните большой и согните указательный, вот и два. Тоесть разогнутый палец — это 0, а согнутый — 1. Так как начальные нули отбросились, мы имеем отсчет от «самой левой» единицы.
Названия пальцев — те которые загнуты:
средний, большой — 101 — 5
безымянный, средний -1100 — 12
мизинец, средний — 10100 — 20
Чтобы загибать мизинец, понадобиться некоторая практика. Но суть в другом. Представим разрядность каждого пальца руки, как 2^n (на фото)

То есть,

Теперь, представим, что нам нужно перевести число 25 в двоичную. Загибаем Мизинец — 16, Безымянный — 8 и большой — 1. т.к. 16+8+1=25.

Если не поняли, то вот еще пример, число 14, думаем: Мизинец — это много, средний нормально, но можно взять больше, поэтому — загибаем безымянный, это 8. Запомнили, далее средний — +4, єто уже 12 и указательный — +2, итог 14.

Так же поступаем с двоичными. Вот например видим где-то: 1011101. Представляем это на руках с разрядностями (уже две руки).

64+16+8+4+1=93
Имеем: 1011101(2) = 93(10)

Заключение: Таким образом мы можем использовать данный метод от 0 до 1023, используя пальцы и обладая элементарной арифметикой. Но при добавлении, хотя бы, одного разряда, можно будет считать до 2047, и далее до 4095, 8191 и т.д. А это могут быть руки, ноги, веки, либо что-то еще что может иметь два состояния 1 и 0.

iframe width=»800″ height=»360″ src=»https://www.youtube.com/embed/fAmuiQxqWZs»>

Общие сведения:

При программировании мы часто сталкиваемся с необходимостью перевода чисел между системами счисления, по основанию: 2, 4, 8, 16 и 10.

Основание системы счисления указывает какое количество цифр используется в этой системе для написания чисел:

  • Привычная нам система счисления по основанию 10 (десятичная система счисления) использует 10 цифр: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9. После 9 идёт не цифра, а число 10, состоящее из двух цифр: 1 и 0. Таким образом, мы записываем любые числа, используя указанные цифры в определённой последовательности.
  • Система счисления по основанию 2 (двоичная система счисления) использует 2 цифры: 0, 1.
  • Система счисления по основанию 4 (четверичная система счисления) использует 4 цифры: 0, 1, 2, 3.
  • Система счисления по основанию 8 (восьмеричная система счисления) использует 8 цифр: 0, 1, 2, 3, 4, 5, 6, 7.
  • Система счисления по основанию 16 (шестнадцатеричная система счисления) использует 16 цифр: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F. В данном случае, буквы ABCDEF являются цифрами. Цифра A шестнадцатеричной системы, равна числу 10 десятичной системы, цифра B равна числу 11 десятичной системы, . , цифра F равна числу 15 десятичной системы.

Можно использовать любую систему счисления, например по основанию 12 (счет дюжинами), но наиболее популярными при программировании, являются: десятичная, шестнадцатеричная и двоичная, системы счисления.

Все выше перечисленные системы счисления относятся к позиционным системам. Значение числа зависит не только от того из каких цифр оно состоит, но и в какой последовательности они записаны. Например число 1234 не равно числу 4321.

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

  • двоичная система счисления:
    • (10101)2 — математическое представление (число)основание системы
    • 0b10101 — представление в скетчах Arduino IDE (число записывается с ведущими символами «0b»).
    • B10101 — представление в скетчах Arduino IDE (число до 256 записывается с ведущим символом «B»).
  • восьмеричная система счисления:
    • (10101)8 — математическое представление (число)основание системы
    • 010101 — представление в скетчах Arduino IDE (число записывается с ведущим символом «0» ноль).
  • десятичная система счисления:
    • (10101)10 — математическое представление (число)основание системы
    • 10101 — представление в скетчах Arduino IDE (число записывается как есть без ведущих символов)
  • шестнадцатеричная система счисления:
    • (10101)16 — математическое представление (число)основание системы
    • 0x10101 — представление в скетчах Arduino IDE (число записывается с ведущими символами «0x»).

Перевод чисел в десятичную систему счисления:

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

Σ(цифра_числа * основание_системы позиция_цифры )

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

  • (101011)2 = 1*2 5 + 0*2 4 + 1*2 3 + 0*2 2 + 1*2 1 + 1*2 0 = 32+0+8+0+2+1 = (43)10.
  • (1357)8 = 1*8 3 + 3*8 2 + 5*8 1 + 7*8 0 = 512+192+40+7 = (751)10.
  • (3BC9)16 = 3*16 3 + B*16 2 + C*16 1 + 9*16 0 = 3*16 3 + 11*16 2 + 12*16 1 + 9*16 0 = 12288+2816+192+9 = (15305)10.

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

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

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

  • (43)10 перевести в двоичную систему счисления:
    • 43/2 = 21 и 1 в остатке
    • 21/2 = 10 и 1 в остатке
    • 10/2 = 5 и 0 в остатке
    • 5/2 = 2 и 1 в остатке
    • 2/2 = 1 и 0 в остатке
    • 1/2 = 0 и 1 в остатке
    • результат — цифры остатков в обратном порядке = (101011)2
  • (751)10 перевести в восьмеричную систему счисления:
    • 751/8 = 93 и 7 в остатке
    • 93/8 = 11 и 5 в остатке
    • 11/8 = 1 и 3 в остатке
    • 1/8 = 0 и 1 в остатке
    • результат — цифры остатков в обратном порядке = (1357)8
  • (15305)10 перевести в шестнадцатеричную систему счисления:
    • 15305/16 = 956 и 9 в остатке
    • 956/16 = 59 и 12 в остатке — соответствует цифре (C)16
    • 59/16 = 3 и 11 в остатке — соответствует цифре (B)16
    • 3/16 = 0 и 3 в остатке
    • результат — цифры остатков в обратном порядке = (3BC9)16

Простой метод перевода:

Легче всего переводить числа через двоичную систему счисления. О том как это сделать рассказано в нашем видеоуроке.

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

В соответствии с (1) все коэффициенты di (разряды десятичного числа, подлежащие определению) могут быть найдены последовательным делением D на 10 i . Так после первого деления D/10 n-1 получим старший разряд dn-1 как частное и остаток от деления dn-2*10 n-2 + … + d1*10 1 + d0*10 0 . Потом делением остатка на 10 n-2 получим очередной разряд dn-2 и т.д.

Подпрограмма преобразования однобайтового двоичного числа в 3-разрядное десятичное приведена ниже. В ней пришлось использовать две операции деления на 100 и на 10.

Преобразование однобайтовых чисел по (1), как мы видим, вполне оправдано. Но если понадобиться перевести в десятичное представление, например, 3-байтовое двоичное число, то необходимо будет использовать несколько подпрограмм деления на 10,100,1000 и т.д. Схема Горнера же позволяет обойтись только делением на 10, не зависимо от размера преобразуемого числа.

Первое деление D из (2) на 10 даст самый младший разряд d0 в виде остатка и частное …(dn-1*10 + dn-2)*10 + … + d1. Произведя деление, полученного в предыдущем цикле частного, на 10, определяем следующий по старшинству разряд d1 и т.д. Определение коэффициентов di по схеме Горнера, в отличии от (1), ведется от младшего разряда d0 к старшему dn-1.

Подпрограмма преобразования 2-байтового двоичного числа в 5-разрядное десятичное (десятичные коэффициенты d4…d0 хранятся в SRAM микроконтроллера):

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

Процессор производит все арифметические операции по законам двоичной арифметики и поэтому интерпретирует любые данные именно как двоичные числа. Соответственно, результатом таких операций также являются числа, представленные в двоичном формате. Если используется какая либо иная форма представления чисел, то почти наверняка, любые действия, произведённые над ними, приведут к ошибке. Это произойдёт по тому, что числа, записанные в другом коде (отличном от позиционного), подчиняются и иным математическим законам.

Допустим, мы хотим сложить два однобайтовых двоично-десятичных числа 0x95 и 0x76, которые представляют собой запись десятичных чисел 95 и 76 соответственно (в младших полубайтах записано число единиц, в старших — число десятков), и получить сумму 0x171 (7 десятков, 1 единица, установленный флаг переноса C как сотня) представленную также в двоично-десятичном формате. Однако, после выполнения команды add Rd,Rr будет получено число 0x10B (0x0B и установленный флаг переноса C) и это полностью законный результат с точки зрения двоичной арифметики.

У многих микропроцессоров существует специальная команда, которая осуществляет коррекцию результата сложения, если слагаемые были представлены в двоично-десятичном формате. В нашем случае такая команда преобразовала бы сумму 0x10B в 0x171. Однако у AVR-микроконтроллеров такая инструкция, к сожалению, отсутствует. Тем не менее, двоично-десятичную коррекцию можно легко реализовать программным способом.

Использование двоично-десятичной коррекции совместно с вычислительной схемой Горнера позволяет преобразовать двоичные числа в следующей последовательности:
B = (…(bn-1*2 + bn-2)*2 + … + b1)*2 + b0.

К произведению bn-1*2 прибавляем следующий справа двоичный разряд bn-2 и посредством двоично-десятичной коррекции преобразуем двоичную сумму bn-1*2 + bn-2 в двоично-десятичную форму представления. На следующем этапе точно также производится умножение (bn-1*2 + bn-2)*2 и, после прибавления разряда bn-3, сумма (bn-1*2 + bn-2)*2 + bn-3 снова подлежит коррекции и т.д.

Следующая подпрограмма осуществляет преобразование двоичного трёхбайтового числа, лежащего в диапазоне 0…0xFFFFFF, в десятичное (0…16777215). Вместо серии умножений bn-1*2, (bn-1*2 + bn-2)*2, … в нём используется сдвиг накопителя суммы на 1 разряд влево.

Для дошкольников и учеников 1-11 классов

Рекордно низкий оргвзнос 25 Р.

Урок информатики 8 класс

Тема: «Двоичная система счисления. Перевод из двоичной системы счисления в десятичную»

Цель урока:Формирование новых знаний, умений и навыков по теме «Двоичная система счисления. Перевод из двоичной системы счисления в десятичную», осознанное понимание представления чисел в двоичной системе счисления, перевод чисел из двоичной системы счисления в десятичную систему.

Задачи:

Образовательные:

дать определение понятия «система счисления»;

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

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

Воспитательные:

воспитывать информационную культуру, внимание, аккуратность, усидчивость.

Развивающие:

развивать коммуникативные навыки работы в группах;

развивать познавательный интерес к предмету информатика.

Тип урока: урок усвоения новых знаний.

Форма урока: урок-практикум.

Оборудование урока: компьютер с проектором, презентация, карточки с заданиями.

Организационный момент. (1 слайд)

Здравствуйте, меня зовут Тихонова Юлия Дмитриевна я учитель информатики «Устино-Копьевской СОШ». В начале нашего урока я бы хотела, что бы вы улыбнулись мне и улыбнулись друг другу.

Подготовка к восприятию нового материала.

А теперь мы с вами погружаемся в захватывающий мир информатики.

И начнем с ваших ответов на предложенные мной вопросы.

С каким универсальным техническим устройством мы работаем на уроках информатики? (Это устройство называется компьютер.)

Для чего была изобретена ЭВМ? (ЭВМ изобретена для работы с числами)

На каком школьном учебном предмете вас учат работать с числами? (С числами работаем на математике.)

Сколько цифр используется для представления чисел? ( 10 : 0,1,2,3,4,5,6,7,8,9)

С помощью этих 10 цифр мы можем записать любое число в математике, но оказывается любое число можно записать и с помощью 2 цифр, и 3 цифр и т.д. Для этого существуют различные системы счисления. Что же такое система счисления?

Система счисления – это принятый способ записи чисел и сопоставления этим записям реальных значений. Все системы счисления можно разделить на два класса: (2 слайд)

позиционные – количественное значение каждой цифры зависит от ее место положения (позиции) в числе;

непозиционные – цифры не меняют своего количественного значения при изменении их положения в числе. (3,4,5, слайд)

Название системы счисления

0, 1, 2, 3, 4, 5, 6, 7

0, 1, 2, 3, 4, 5, 6, 7, 8, 9

0, 1, 2, 3, 4, 5, 6, 7, 8, 9, А, В

0, 1, 2, 3, 4, 5, 6, 7, 8, 9, А, В, C, D, E, F

Целеполагание и мотивация .

Я, думаю, вы задались вопросом. А для чего нам нужны системы счисления? Я хочу вам, ответь на этот вопрос, все компьютерное программирование строится по принципу двоичного кодирования. Сегодня на уроке мы познакомимся с принципом двоичного кодирования и научимся переводить числа из десятичной системы счисления в произвольную. (8-9 слайд)

Восприятие и первичное осознание нового материала .

Для того, что бы перейти к двоичной системе счисления мы сначала поговорим об операциях с 10 системой счисления. А именно разложение на разрядные единицы числа 333 (10 слайд)

333 = 300 + 30 + 3

Но мы можем применить и другую запись разложения числа на разряды:

3 * 10 2 + 3 * 10 1 + 3 * 10 0 — эта запись называется развернутой формой записи числа

Давайте закрепим, записав в развернутой форме число 236: 2 * 10 2 + 3 * 10 1 + 6 * 10 0 , именно эту запись мы применяем в информатике.

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

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

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

Например, требуется перевести двоичное число 10110110 в десятичное. В этом числе 8 цифр и 8 разрядов ( разряды считаются, начиная с нулевого, которому соответствует младший бит). В соответствии с уже известным нам правилом представим его в виде суммы степеней с основанием 2:

Запишите в развернутой форме двоичное число 1001001 2 = 1*2 6 +0*2 5 +0*2 4+ 1*2 3 +0*2 2 +0*2 1+ 1*2 0 = 64+8+1=73 10 (12 слайд)

Переведите в десятичную систему счисления числа 11101 2 , 10101 2 , 11100 2 , (13 слайд)

111012=1*2 4+ 1*2 3 +1*2 2 +0*2 1+ 1*2 0 =16+8+4+1=2910

101012=1*2 4+ 0*2 3 +1*2 2 +0*2 1+ 1*2 0 =16+4+1=2110

111002=1*2 4+ 1*2 3 +1*2 2 +0*2 1+ 0*2 0 =16+8+4=2810

Систематизация знаний .

Самостоятельная работа

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

Ваша задача: записать номер карточки, решить задание, пересесть на свободное место. За 5 минут постараться решить правильно как можно больше заданий.

№ 12 1100110 = 104 (14 слайд)

Взаимопроверка

Время вышло. Займите свои места, обменяйтесь тетрадями, Внимание на экран: от вашей внимательности и объективности зависит оценка которую вы поставите своему соседу по парте.

(Организовать группы) (15 слайд)

А сейчас вы почувствуете себя настоящими программистами. Я вам раздам карточки с заданиями. Вам необходимо выполнить перевод чисел и на рабочих листах изобразить полученный рисунок:

Выполнить перевод координат в десятичную систему счисления и отметить точку на координатной плоскости. Правильно сделав перевод и соединив последовательно все точки, получите рисунок.

Онлайн конвертер

Для примера переведём число 123 из десятеричной системы в другие:

  • в двоичную: 12310 = 11110112
  • в восьмеричную: 12310 = 1738
  • в шестнадцатеричную: 12310 = 7B16
  • в троичную: 12310 = 111203
  • в четверичную: 12310 = 13234
  • в пятиричную: 12310 = 4435
  • в шестиричную: 12310 = 3236
  • в семиричную: 12310 = 2347
  • в девятиричную: 12310 = 1469
  • в одиннадцатиричную: 12310 = 10211
  • в двенадцатиричную: 12310 = A312
  • в тринадцатиричную: 12310 = 9613
  • в четырнадцатиричную: 12310 = 8B14
  • в пятнадцатиричную: 12310 = 8315
  • в двадцатеричную: 12310 = 6320

Какие бывают системы счисления

Наиболее часто используемыми системами счисления являются:

  • двоичная (2) – все числа записываются лишь посредством двух символов: 0 и 1. Используется в дискретной математике, информатике и программировании.
  • троичная (3) – числа записываются посредством трёх символов: 0, 1 и 2. Используется в цифровой электронике.
  • восьмеричная (8) – числа записываются посредством цифр от 0 до 7. Используется в областях связных с цифровыми устройствами, так как восьмеричные числа легко переводятся в двоичные и обратно.
  • десятеричная (10) – числа записываются посредством цифр от 0 до 9. Используется повсеместно.
  • двенадцатеричная (12) – числа записываются посредством цифр от 0 до 9 и буквами A и B. Cчёт дюжинами.
  • шестнадцатеричная (16) – числа записываются посредством цифр от 0 до 9 и буквами A, B, C, D, E, F. Широко используется в программировании и информатике.
  • двадцатеричная (20) – числа записываются посредством цифр от 0 до 9 и буквами A, B, C, D, E, F, G, H, I (или J), J( или K). Исторически используется во многих языках, в частности в языке йоруба, у тлинкитов, в системе записи чисел майя, некоторых азиатских и кавказских языках.