Как перевести число из двоичной системы в десятичную. Как перевести десятичное число в двоичное. Какие существуют алгоритмы перевода между системами счисления. Какие особенности нужно учитывать при переводе дробных чисел.
Двоичная система счисления: основные понятия
Двоичная система счисления — это позиционная система счисления с основанием 2. В ней для записи чисел используются всего две цифры — 0 и 1. Несмотря на свою простоту, двоичная система имеет огромное значение в современной вычислительной технике и цифровой электронике.
Основные преимущества двоичной системы:
- Простота реализации в электронных схемах (два состояния — есть сигнал/нет сигнала)
- Надежность хранения и передачи информации
- Простота выполнения арифметических операций
Каждый разряд двоичного числа называется битом. Группа из 8 бит образует байт — минимальную единицу хранения информации в компьютерных системах.
Алгоритм перевода из двоичной системы в десятичную
Для перевода числа из двоичной системы в десятичную используется следующий алгоритм:
- Пронумеровать разряды двоичного числа справа налево, начиная с нуля
- Умножить значение каждого разряда (0 или 1) на 2 в степени номера этого разряда
- Сложить полученные значения
Рассмотрим пример перевода двоичного числа 10110 в десятичную систему:
1 * 24 + 0 * 23 + 1 * 22 + 1 * 21 + 0 * 20 = 16 + 0 + 4 + 2 + 0 = 22
Таким образом, 101102 = 2210
Перевод из десятичной системы в двоичную
Для перевода целого десятичного числа в двоичную систему используется метод последовательного деления на 2 с записью остатков:
- Разделить число на 2
- Записать остаток от деления (0 или 1)
- Если частное не равно нулю, повторить шаги 1-2 для полученного частного
- Полученные остатки записать в обратном порядке
- 25 / 2 = 12 (остаток 1)
- 12 / 2 = 6 (остаток 0)
- 6 / 2 = 3 (остаток 0)
- 3 / 2 = 1 (остаток 1)
- 1 / 2 = 0 (остаток 1)
Записываем остатки в обратном порядке: 2510 = 110012
Особенности перевода дробных чисел
При переводе дробных чисел между двоичной и десятичной системами счисления возникают некоторые сложности:
- Не все десятичные дроби имеют конечное представление в двоичной системе
- Возможна потеря точности при ограничении количества знаков после запятой
- Некоторые числа (например, 0.1) не могут быть точно представлены в двоичной системе с плавающей запятой
Как перевести дробное число из десятичной системы в двоичную?
- Целую часть переводим отдельно методом деления на 2
- Дробную часть умножаем на 2
- Записываем целую часть результата (0 или 1)
- Если дробная часть не равна нулю, повторяем шаги 2-3
Например, переведем число 3.625 в двоичную систему:
Целая часть: 3 = 112
Дробная часть: 0.625 * 2 = 1.25 (записываем 1) 0.25 * 2 = 0.5 (записываем 0) 0.5 * 2 = 1.0 (записываем 1)
Результат: 3.62510 = 11.1012
Применение двоичной системы в компьютерных технологиях
Двоичная система счисления лежит в основе работы всех современных цифровых устройств. Некоторые области ее применения:
- Кодирование данных в памяти компьютера
- Передача информации по каналам связи
- Выполнение арифметических и логических операций в процессорах
- Адресация ячеек памяти
- Представление графической и звуковой информации в цифровом виде
Понимание принципов работы с двоичной системой необходимо для эффективного программирования на низком уровне и разработки аппаратного обеспечения.
Стандарт IEEE 754 для чисел с плавающей запятой
Для представления вещественных чисел в компьютерных системах широко используется стандарт IEEE 754. Он определяет форматы чисел с плавающей запятой и правила выполнения операций над ними.
Основные форматы IEEE 754:
- binary32 (одинарная точность) — 32 бита
- binary64 (двойная точность) — 64 бита
Число в формате IEEE 754 состоит из трех частей:
- Знаковый бит (0 — положительное число, 1 — отрицательное)
- Порядок (смещенная экспонента)
- Мантисса (дробная часть)
Такое представление позволяет охватить очень широкий диапазон чисел, от очень маленьких до очень больших. Однако оно также имеет свои особенности и ограничения, которые необходимо учитывать при работе с вещественными числами в программировании.
Онлайн-калькуляторы для перевода между системами счисления
Для быстрого перевода чисел между различными системами счисления удобно использовать онлайн-калькуляторы. Они позволяют:
- Переводить числа между двоичной, восьмеричной, десятичной и шестнадцатеричной системами
- Выполнять арифметические операции в разных системах счисления
- Конвертировать числа с плавающей запятой в формат IEEE 754 и обратно
- Визуализировать процесс перевода пошагово
Однако важно понимать алгоритмы перевода и уметь выполнять их вручную, так как это развивает алгоритмическое мышление и помогает лучше понять принципы работы компьютерных систем.
Заключение
Перевод чисел между двоичной и десятичной системами счисления — важный навык для программистов и специалистов в области компьютерных технологий. Понимание принципов работы с различными системами счисления позволяет:
- Эффективно работать с битовыми операциями
- Оптимизировать использование памяти
- Разрабатывать алгоритмы для обработки данных на низком уровне
- Лучше понимать внутреннее устройство компьютерных систем
Регулярная практика в переводе чисел и решении задач, связанных с системами счисления, поможет развить эти навыки и стать более квалифицированным специалистом в области информационных технологий.
Онлайн калькулятор: Двоично-десятичное кодирование
После калькулятора Перевод дробных чисел из одной системы счисления в другую я думал, что тема с системами счисления уже закрыта. Но, как оказалось, еще нет.
Как я писал по ссылке выше, основная проблема при переводе дробных чисел из одной системы счисления в другую это потеря точности, когда, например, десятичное число 0.8 нельзя перевести в двоичное без погрешности.
Поскольку десятичные числа активно используются человеком, а двоичные — компьютером, этой проблемой в применении к двоичной и десятичной системам однажды уже озаботились какие-то светлые умы и придумали двоично-десятичное кодирование (binary coded decimal, BCD). Суть идеи проста — берем и для каждой десятичной цифры заводим байт. И в этом байте тупо пишем значение десятичной цифры в двоичном коде. Тогда число, например, 0.8 будет 0.00001000. Потом, правда, подумали еще, и решили, что раз уж верхняя часть байта всегда пустует (так как максимум 9 — это 1001), то давайте для каждой десятичной цифры заводить полубайт. И назвали это упакованным двоично-десятичным кодированием (packed BCD).
Прекрасная идея, конечно. Точность не теряется, человек может двоичные числа переводить в десятичные и наоборот прямо на лету, округлять можно, откидывая лишнее. Но как-то не получила она широкого распространения, потому как жизнь машинам она, наоборот, усложняла — и памяти для хранения чисел надо больше, и операции над числами реализовать сложнее. Так и осталась забавным курьезом, и я бы ничего о ней не знал, если бы пользователи не подсказали, что есть такая.
Ну и небольшой калькулятор по этому поводу — вводим либо десятичное число, либо двоичное, подразумевая, что это упакованный двоично-десятичный код, и получаем результат. Понятно, что все преобразования можно проделать и в уме, и в этом ее преимущество; но зачем же лишний раз мозги напрягать, верно?
Двоично-десятичное кодирование
Десятичное число, либо двоично-десятичный код
Десятичное число
Двочно-десятичный код
content_copy Ссылка save Сохранить extension Виджет
Двоичный в десятичный онлайн-конвертер
наДвоичный в десятичный онлайн-инструмент для конвертации:
Этот онлайн-инструмент преобразования двоичных данных в десятичные помогает преобразовать восьмеричное число в десятичное число.
Binary (Двоичный):
Двоичный файл имеет только 2 символа (0, 1) . 4-разрядный двоичный символ может представлять собой 1-значное шестнадцатеричное число, а 3-значный двоичный символ может представлять собой 1-значное восьмеричное число.
Десятичный (Десятичный):
Система десятичных чисел (также известная как арабский) состоит из 10 символов, включая , которая является наиболее используемой цифровой системой в нашей повседневной жизни.
Как конфертировать из двоичного в десятичное?
Для n-битных двоичных цифр представлено следующее изображение:
dn-1dn-2…d2d1d0
Для каждой цифры числа умножьте на соответствующую степень от 2 до степени.
Decimal Output = dn-1 × 2n-1 + … + d1 × 21 + d0 × 20
Пример 1: двоичное число «1101» преобразуется в десятичное число:
Decimal Output = 1 × 23 + 1 × 22 + 0 × 21 + 1 × 20 = 13
Пример 2: двоичное число «0,101» преобразуется в десятичное число:
Decimal Output = 0 × 20 + 1 × 2-1 + 0 × 2-2 + 1 × 2-3 = 0.625
Таблица преобразования двоичных в десятичные:
| двоичный | десятичный | двоичный | десятичный |
|---|---|---|---|
| 1 | 1 | 10101 | 21 |
| 10 | 2 | 10110 | 22 |
| 11 | 3 | 10111 | 23 |
| 100 | 4 | 11000 | 24 |
| 101 | 5 | 11001 | 25 |
| 110 | 6 | 11010 | 26 |
| 111 | 7 | 11011 | 27 |
| 1000 | 8 | 11100 | 28 |
| 1001 | 9 | 11101 | 29 |
| 1010 | 10 | 11110 | 30 |
| 1011 | 11 | 11111 | 31 |
| 1100 | 12 | 100000 | 32 |
| 1101 | 13 | 100001 | 33 |
| 1110 | 14 | 100010 | 34 |
| 1111 | 15 | 100011 | 35 |
| 10000 | 16 | 100100 | 36 |
| 10001 | 17 | 100101 | 37 |
| 10010 | 18 | 100110 | 38 |
| 10011 | 19 | 100111 | 39 |
| 10100 | 20 | 101000 | 40 |
ссылка:
Википедия (двоичная):
Перевод систем счисления — онлайн конвертер
Чтобы перевести число из одной системы счисления в другую, воспользуйтесь нашим онлайн конвертером:
Онлайн конвертер
Просто введите целое число и выберете системы счисления.
Для примера переведём число 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). Исторически используется во многих языках, в частности в языке йоруба, у тлинкитов, в системе записи чисел майя, некоторых азиатских и кавказских языках.
См. также
Переводим числа между двоичной и десятичной системами «на лету», объяснение «на пальцах»
Здравствуйте, Хабровцы.Пост можно было бы назвать: «Для любителей посчитать на пальцах», но это мы узнаем дальше.
Вступление: А что-же тянуть. Все что будет дальше, пойдет на тему подсчета в двоичной системе на пальцах. Кто еще не знает, постараюсь обьяснить, что это, как и зачем это осваивать.
Начну, пожалуй, с преимуществ:
1. Удобно переводить любое число с десятичной в двоичную системы и наоборот, не используя калькулятор.
2. Развивается моторика пальцев.
3. Развивается визуальное восприятие двоичных чисел.
Минусы:
1. Немного тренировки.
2. Нельзя в публичных местах показывать числа 26,27,352,378 и 891.
Суть:
Многим, наверняка, приходилось переводить между системами. И я думаю многие запомнили, что:
2-10
3-11
4-100
5-101
и т.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.
Переводы из различных систем счисления. Таблица соответствия систем.
Перевод из десятичной в двоичную систему счисления.
[youtube fLv4gs9EnJs nolink]
Перевод из двоичной в десятичную систему счисления и наоборот.
[youtube C0ai9-3GHJY nolink]
Перевод чисел из двоичной системы счисления в восьмеричную и наоборот.
[youtube x1bx7o2uESg nolink]
Перевод чисел из двоичной системы счисления в шестнадцатеричную. Сложение двоичных чисел.
[youtube rToqA6rEUQ8 nolink]
Перевод чисел в десятичную систему счисления. Полиномы.
[youtube eSviqB6Db7A nolink]
Краткая таблица соответствия — двоичная система в восьмеричную (8СС) и шестнадцатеричная (16СС) системы:
Таблица соответствия десятеричного от 1 до 255 (Decimal), двоичного (Binary) и шестнадцатеричного (Hexadecimal) представлений чисел.
Dec — десятеричная система;
Hex — шестнадцатеричная система;
Bin — двоичная система.
| Dec | Hex | Bin | Dec | Hex | Bin | Dec | Hex | Bin | Dec | Hex | Bin |
| 0 | 0 | 0 | 64 | 40 | 1000000 | 128 | 80 | 10000000 | 192 | c0 | 11000000 |
| 1 | 1 | 1 | 65 | 41 | 1000001 | 129 | 81 | 10000001 | 193 | c1 | 11000001 |
| 2 | 2 | 10 | 66 | 42 | 1000010 | 130 | 82 | 10000010 | 194 | c2 | 11000010 |
| 3 | 3 | 11 | 67 | 43 | 1000011 | 131 | 83 | 10000011 | 195 | c3 | 11000011 |
| 4 | 4 | 100 | 68 | 44 | 1000100 | 132 | 84 | 10000100 | 196 | c4 | 11000100 |
| 5 | 5 | 101 | 69 | 45 | 1000101 | 133 | 85 | 10000101 | 197 | c5 | 11000101 |
| 6 | 6 | 110 | 70 | 46 | 1000110 | 134 | 86 | 10000110 | 198 | c6 | 11000110 |
| 7 | 7 | 111 | 71 | 47 | 1000111 | 135 | 87 | 10000111 | 199 | c7 | 11000111 |
| 8 | 8 | 1000 | 72 | 48 | 1001000 | 136 | 88 | 10001000 | 200 | c8 | 11001000 |
| 9 | 9 | 1001 | 73 | 49 | 1001001 | 137 | 89 | 10001001 | 201 | c9 | 11001001 |
| 10 | a | 1010 | 74 | 4a | 1001010 | 138 | 8a | 10001010 | 202 | ca | 11001010 |
| 11 | b | 1011 | 75 | 4b | 1001011 | 139 | 8b | 10001011 | 203 | cb | 11001011 |
| 12 | c | 1100 | 76 | 4c | 1001100 | 140 | 8c | 10001100 | 204 | cc | 11001100 |
| 13 | d | 1101 | 77 | 4d | 1001101 | 141 | 8d | 10001101 | 205 | cd | 11001101 |
| 14 | e | 1110 | 78 | 4e | 1001110 | 142 | 8e | 10001110 | 206 | ce | 11001110 |
| 15 | f | 1111 | 79 | 4f | 1001111 | 143 | 8f | 10001111 | 207 | cf | 11001111 |
| 16 | 10 | 10000 | 80 | 50 | 1010000 | 144 | 90 | 10010000 | 208 | d0 | 11010000 |
| 17 | 11 | 10001 | 81 | 51 | 1010001 | 145 | 91 | 10010001 | 209 | d1 | 11010001 |
| 18 | 12 | 10010 | 82 | 52 | 1010010 | 146 | 92 | 10010010 | 210 | d2 | 11010010 |
| 19 | 13 | 10011 | 83 | 53 | 1010011 | 147 | 93 | 10010011 | 211 | d3 | 11010011 |
| 20 | 14 | 10100 | 84 | 54 | 1010100 | 148 | 94 | 10010100 | 212 | d4 | 11010100 |
| 21 | 15 | 10101 | 85 | 55 | 1010101 | 149 | 95 | 10010101 | 213 | d5 | 11010101 |
| 22 | 16 | 10110 | 86 | 56 | 1010110 | 150 | 96 | 10010110 | 214 | d6 | 11010110 |
| 23 | 17 | 10111 | 87 | 57 | 1010111 | 151 | 97 | 10010111 | 215 | d7 | 11010111 |
| 24 | 18 | 11000 | 88 | 58 | 1011000 | 152 | 98 | 10011000 | 216 | d8 | 11011000 |
| 25 | 19 | 11001 | 89 | 59 | 1011001 | 153 | 99 | 10011001 | 217 | d9 | 11011001 |
| 26 | 1a | 11010 | 90 | 5a | 1011010 | 154 | 9a | 10011010 | 218 | da | 11011010 |
| 27 | 1b | 11011 | 91 | 5b | 1011011 | 155 | 9b | 10011011 | 219 | db | 11011011 |
| 28 | 1c | 11100 | 92 | 5c | 1011100 | 156 | 9c | 10011100 | 220 | dc | 11011100 |
| 29 | 1d | 11101 | 93 | 5d | 1011101 | 157 | 9d | 10011101 | 221 | dd | 11011101 |
| 30 | 1e | 11110 | 94 | 5e | 1011110 | 158 | 9e | 10011110 | 222 | de | 11011110 |
| 31 | 1f | 11111 | 95 | 5f | 1011111 | 159 | 9f | 10011111 | 223 | df | 11011111 |
| 32 | 20 | 100000 | 96 | 60 | 1100000 | 160 | a0 | 10100000 | 224 | e0 | 11100000 |
| 33 | 21 | 100001 | 97 | 61 | 1100001 | 161 | a1 | 10100001 | 225 | e1 | 11100001 |
| 34 | 22 | 100010 | 98 | 62 | 1100010 | 162 | a2 | 10100010 | 226 | e2 | 11100010 |
| 35 | 23 | 100011 | 99 | 63 | 1100011 | 163 | a3 | 10100011 | 227 | e3 | 11100011 |
| 36 | 24 | 100100 | 100 | 64 | 1100100 | 164 | a4 | 10100100 | 228 | e4 | 11100100 |
| 37 | 25 | 100101 | 101 | 65 | 1100101 | 165 | a5 | 10100101 | 229 | e5 | 11100101 |
| 38 | 26 | 100110 | 102 | 66 | 1100110 | 166 | a6 | 10100110 | 230 | e6 | 11100110 |
| 39 | 27 | 100111 | 103 | 67 | 1100111 | 167 | a7 | 10100111 | 231 | e7 | 11100111 |
| 40 | 28 | 101000 | 104 | 68 | 1101000 | 168 | a8 | 10101000 | 232 | e8 | 11101000 |
| 41 | 29 | 101001 | 105 | 69 | 1101001 | 169 | a9 | 10101001 | 233 | e9 | 11101001 |
| 42 | 2a | 101010 | 106 | 6a | 1101010 | 170 | aa | 10101010 | 234 | ea | 11101010 |
| 43 | 2b | 101011 | 107 | 6b | 1101011 | 171 | ab | 10101011 | 235 | eb | 11101011 |
| 44 | 2c | 101100 | 108 | 6c | 1101100 | 172 | ac | 10101100 | 236 | ec | 11101100 |
| 45 | 2d | 101101 | 109 | 6d | 1101101 | 173 | ad | 10101101 | 237 | ed | 11101101 |
| 46 | 2e | 101110 | 110 | 6e | 1101110 | 174 | ae | 10101110 | 238 | ee | 11101110 |
| 47 | 2f | 101111 | 111 | 6f | 1101111 | 175 | af | 10101111 | 239 | ef | 11101111 |
| 48 | 30 | 110000 | 112 | 70 | 1110000 | 176 | b0 | 10110000 | 240 | f0 | 11110000 |
| 49 | 31 | 110001 | 113 | 71 | 1110001 | 177 | b1 | 10110001 | 241 | f1 | 11110001 |
| 50 | 32 | 110010 | 114 | 72 | 1110010 | 178 | b2 | 10110010 | 242 | f2 | 11110010 |
| 51 | 33 | 110011 | 115 | 73 | 1110011 | 179 | b3 | 10110011 | 243 | f3 | 11110011 |
| 52 | 34 | 110100 | 116 | 74 | 1110100 | 180 | b4 | 10110100 | 244 | f4 | 11110100 |
| 53 | 35 | 110101 | 117 | 75 | 1110101 | 181 | b5 | 10110101 | 245 | f5 | 11110101 |
| 54 | 36 | 110110 | 118 | 76 | 1110110 | 182 | b6 | 10110110 | 246 | f6 | 11110110 |
| 55 | 37 | 110111 | 119 | 77 | 1110111 | 183 | b7 | 10110111 | 247 | f7 | 11110111 |
| 56 | 38 | 111000 | 120 | 78 | 1111000 | 184 | b8 | 10111000 | 248 | f8 | 11111000 |
| 57 | 39 | 111001 | 121 | 79 | 1111001 | 185 | b9 | 10111001 | 249 | f9 | 11111001 |
| 58 | 3a | 111010 | 122 | 7a | 1111010 | 186 | ba | 10111010 | 250 | fa | 11111010 |
| 59 | 3b | 111011 | 123 | 7b | 1111011 | 187 | bb | 10111011 | 251 | fb | 11111011 |
| 60 | 3c | 111100 | 124 | 7c | 1111100 | 188 | bc | 10111100 | 252 | fc | 11111100 |
| 61 | 3d | 111101 | 125 | 7d | 1111101 | 189 | bd | 10111101 | 253 | fd | 11111101 |
| 62 | 3e | 111110 | 126 | 7e | 1111110 | 190 | be | 10111110 | 254 | fe | 11111110 |
| 63 | 3f | 111111 | 127 | 7f | 1111111 | 191 |
Как перевести из двоичной системы в десятичную, алгоритм перевода чисел
В задачах по теме Системы счисления часто требуется перевести число из двоичной в десятичную систему счисления. Чтобы выполнить такое задание, нужно воспользоваться алгоритмом перевода числа из двоичной системы счисления в десятичную. Для проверки результата достаточно выполнить обратное действие: перевести число из десятичной системы в двоичную. А также можно воспользоваться онлайн калькулятором для перевода чисел из одной системы счисления в другую.
Алгоритм перевода из двоичной системы в десятичную
- Пронумеровать разряды двоичного числа справа налево, начиная с нуля.
- Умножить каждый ненулевой разряд на 2 в степени его номера и сложить результаты.
Примеры перевода чисел из двоичной системы в десятичную
Рассмотрим, как происходит перевод из одной системы счисления в другую на примерах:
Пример 1:
Перевести число 1111001102 из двоичной системы в десятичную.
Решение:
Нумеруем разряды числа справа налево, начиная с нуля:
И вычисляем результат:
1111001102 = 1 ⋅ 28 + 1 ⋅ 27 + 1 ⋅ 26 + 1 ⋅ 25 + 1 ⋅ 22 + 1 ⋅ 21 = 256 + 128 + 64 + 32 + 4 + 2 = 48610
Пример 2:
Перевести число 1010001112 из двоичной системы в десятичную.
Решение:
Нумеруем разряды числа справа налево:
И вычисляем результат:
1010001112 = 1 ⋅ 28 + 1 ⋅ 26 + 1 ⋅ 22 + 1 ⋅ 21 + 1 ⋅ 20 = 256 + 64 + 4 + 2 + 1 = 32710
Поделитесь статьей с одноклассниками «Как перевести из двоичной системы в десятичную, алгоритм перевода чисел».
При копировании материалов с сайта ссылка на источник обязательна. Уважайте труд людей, которые вам помогают.
Нашли ошибку? Выделите текст и нажмите Ctrl + Enter.
Как преобразовать двоичное в десятичное
Десятичное число равно сумме двоичных цифр (d n ), умноженной на их степень двойки (2 n ):
десятичный = d 0 × 2 0 + d 1 × 2 1 + d 2 × 2 2 + …
Пример # 1
Найдите десятичное значение 111001 2 :
| двоичное число: | 1 | 1 | 1 | 0 | 0 | 1 |
|---|---|---|---|---|---|---|
| степень 2: | 2 5 | 2 4 | 2 3 | 2 2 | 2 1 | 2 0 |
111001 2 = 1⋅2 5 + 1⋅2 4 + 1⋅2 3 + 0⋅2 2 + 0⋅2 1 + 1⋅2 0 = 57 10
Пример # 2
Найдите десятичное значение 100011 2 :
| двоичное число: | 1 | 0 | 0 | 0 | 1 | 1 |
|---|---|---|---|---|---|---|
| степень 2: | 2 5 | 2 4 | 2 3 | 2 2 | 2 1 | 2 0 |
100011 2 = 1⋅2 5 + 0⋅2 4 + 0⋅2 3 + 0⋅2 2 + 1⋅2 1 + 1⋅2 0 = 35 10
Преобразователь двоично-десятичного числа ►
Таблица преобразования двоичного числа в десятичное
| Двоичный | Десятичное |
|---|---|
| 0 | 0 |
| 1 | 1 |
| 10 | 2 |
| 11 | 3 |
| 100 | 4 |
| 101 | 5 |
| 110 | 6 |
| 111 | 7 |
| 1000 | 8 |
| 1001 | 9 |
| 1010 | 10 |
| 1011 | 11 |
| 1100 | 12 |
| 1101 | 13 |
| 1110 | 14 |
| 1111 | 15 |
| 10000 | 16 |
| 10001 | 17 |
| 10010 | 18 |
| 10011 | 19 |
| 10100 | 20 |
| 10101 | 21 |
| 10110 | 22 |
| 10111 | 23 |
| 11000 | 24 |
| 11001 | 25 |
| 11010 | 26 |
| 11011 | 27 |
| 11100 | 28 |
| 11101 | 29 |
| 11110 | 30 |
| 11111 | 31 |
| 100000 | 32 |
| 1000000 | 64 |
| 10000000 | 128 |
| 100000000 | 256 |
Как преобразовать десятичное число в двоичное ►
См. Также
Преобразование между десятичным и двоичным числами с плавающей запятой
Преобразование между десятичным и двоичным числами с плавающей запятойВ этих заметках обсуждается следующее:
- Базовые сведения о представлении с плавающей запятой IEEE-754
- Преобразование десятичных значений с плавающей запятой в 32-битное представление IEEE-754 (тип
floatв Java, C, C ++…) - Преобразование двоичных значений с плавающей запятой, закодированных в 32-битном стандарте IEEE-754, в десятичные числа
Для ясности, в этих примечаниях обсуждаются только взаимные преобразования , а не операции с числами с плавающей запятой (например, сложение, умножение и т. Д.). Эти операции с числами с плавающей запятой намного сложнее, чем их эквивалентные операции с десятичными числами, в основном из-за необходимости округления и проблем с потерей точности. Таким образом, мы не покрываем эти операции.
Фон
Стандарт IEEE-754 был разработан как стандартизованное представление чисел с плавающей запятой в двоичном формате. До появления стандарта существовало множество несовместимых реализаций, каждая из которых страдала своими уникальными особенностями. IEEE-754 пытается устранить некоторые из этих причуд, хотя у него есть свои собственные причуды.
Из двоичных чисел без знака и двоичного дополнения вы уже привыкли к проблеме нехватки битов для представления заданного значения.Та же проблема возникает со стандартом IEEE-754, где значение может быть слишком большим или слишком маленьким для представления.
Дополнительный поворот заключается в том, что число не может быть закодировано точно в IEEE-754, что приводит к потере точности.
Например, формат, который мы скоро обсудим (в частности,
Хотя стандарт IEEE-754 определяет несколько различных представлений с плавающей запятой, два из них выделяются по популярности:
Хотя два приведенных выше представления являются отдельными, внутренне они работают очень похоже.
Фактически, единственная реальная разница заключается в количестве битов, которые они используют при представлении чисел с плавающей запятой.
Поскольку
Поскольку эти два формата работают в основном одинаково, мы будем работать только с представлением
Далее следуют пошаговые инструкции, в которых обсуждается, как преобразовать десятичные значения с плавающей запятой в эквивалентное двоичное представление в
Если число положительное, то бит знака будет
Преобразуйте целую часть значения с плавающей запятой в двоичное без знака (, а не с дополнением до двух).
Целая часть — это часть числа перед десятичной точкой .Например, если число для преобразования —
Дробную часть числа также необходимо преобразовать в двоичную форму, хотя процесс преобразования сильно отличается от того, к чему вы привыкли.Алгоритм, который вы будете использовать, основан на многократном умножении на
С первым возможным условием завершения (результат точно
Чтобы увидеть этот алгоритм в действии, давайте посмотрим, как он работает для преобразования
Конечное значение: (сверху вниз, слева направо)
Другой пример, на этот раз для преобразования Двоичное представление осуществляется только 0 и 1. Они все время используются в информатике для хранения всех значений в строке двоичных цифр 0 и 1. Эта система упрощает решение вычислительных задач, поскольку в электронных системах транзистор использует только эти два состояния. Десятичная система претендует на звание самой старой системы из всех и исторически возникла из индуистской системы счисления. Десятичная система счисления - самая распространенная и знакомая всем нам система счисления. Она основана на 10 из следующих символов: 0,1,2,3,4,5,6,7,8 и 9 в десятичной системе. системе, каждая цифра имеет свое собственное положение, а также десятичную точку. Таблица преобразования десятичных чисел в двоичные
crunchify.com.tutorial; импорт java.util.LinkedList; импорт java.util.Queue; / ** * @author Crunchify.com * Программа: программа на Java для преобразования числа из двоичного в десятичное и из десятичного в двоичное * Версия: 1.0.0 * * / открытый класс CrunchifyBinaryDecimal { // Метод Main (). // Мы создадим 10 двоичных значений из десятичного числа. // Затем мы преобразуем это двоичное значение в десятичное. public static void main (String a []) { CrunchifyBinaryDecimal object = new CrunchifyBinaryDecimal (); object.crunchifyGenerateBinaryNumbers (10); } // Этот метод преобразует десятичное в двоичное public void crunchifyGenerateBinaryNumbers (int n) { // Очередь - это коллекция, предназначенная для хранения элементов перед обработкой. Очередь // Помещаем первое двоичное число в очередь crunchifyQueue.add ("1"); // Этот цикл является двоичным первым поиском дерева с 1 в качестве корня // Мы будем следить за тем, чтобы левый дочерний элемент всегда был 0, а правый дочерний элемент 1 for (int i = 1; i <= n; i ++) { Строка crunchifyString = crunchifyQueue.peek (); crunchifyQueue.удалять(); println («Мы сгенерировали двоичный элемент для числа« + i + », который равен:« + crunchifyString); // вызов метода convertBinaryToDecimal (), чтобы преобразовать его обратно в десятичное 🙂 println ("Преобразование обратно в десятичное:" + convertBinaryToDecimal (Integer.parseInt (crunchifyString)) + "\ n"); // Убедитесь, что мы сохраняем предыдущее значение String previousFront = crunchifyString; // Добавить «0» в crunchifyQueue и поставить его в очередь crunchifyQueue.добавить (crunchifyString + "0"); // Добавить "1" к previousFront и поставить его в очередь. crunchifyQueue.add (previousFront + "1"); } } // Этот метод преобразует двоичное значение в десятичное. int crunchifyPower = 0; while (true) { if (crunchifyBinaryValue == 0) { break; } else { int crunchifyTemp = crunchifyBinaryValue% 10; crunchifyDecimalValue + = crunchifyTemp * Math.pow (2, crunchifyPower); crunchifyBinaryValue = crunchifyBinaryValue / 10; crunchifyPower ++; } } return crunchifyDecimalValue; } private static void println (String string) { System.out.println (string); } } Когда я закончил работу с калькулятором Преобразование дробных чисел между системами счисления, я подумал, что это последний из них.Однако появляется причина и для другого. Как я писал по ссылке выше, проблема, возникающая при преобразовании дробных чисел из одной системы счисления в другую, заключается в потере точности. Например, я использовал десятичную дробь 0,8, которая не может быть переведена в двоичную систему без ошибки точности. Поскольку десятичные числа являются "родными" для людей, а двоичные числа "родными" для компьютера, проблема точности (для этих конкретных систем счисления) когда-то получила решение - изобретение двоично-десятичного формата (BCD).Идея была проста - использовать один байт для каждой десятичной цифры. И этот байт должен содержать двоичный код этой цифры. Тогда, например, 0,8 станет 0,00001000. Ну, вдумавшись, идея была настроена. Поскольку верхний полубайт всегда пуст (начиная с 9, максимальное значение равно 1001) - давайте использовать только один полубайт для каждой десятичной цифры. И это называлось упакованным BCD. Хорошая идея - без потери точности, преобразование можно легко выполнить, а округление - просто - просто сдвиньте ненужный полубайт.Но широкого распространения он не получил, потому что усложнял жизнь ... компьютерам. BCD означает больше памяти для хранения чисел и более сложные схемы для операций с числами. Вот калькулятор для BCD. Вы можете ввести десятичный или двоично-десятичный формат и получить преобразование. Конечно, это можно сделать в уме (и в этом преимущество BCD), но просто позвольте компьютеру сделать это за вас. Вы можете ввести десятичный или двоичный код в формате BCD content_copy Link save Save extension Widget binary32 ), значение 0,1 не может быть точно закодировано.
Попытки кодировать это значение приведут к наиболее близкому возможному кодированию, которое составляет 0.1000000014119384765625 .
По общему признанию, это очень близко, хотя потеря точности может стать значительной, когда мы начнем выполнять операции с этими числами.
Мы не будем беспокоиться о подобных проблемах в классе, но есть способы исправить это для любопытных.
binary32 , внутреннее представление float в Java, C, C ++ и многих других.Это использует 32 бита.
binary64 , внутреннее представление double в Java, C, C ++ и многих других.
Это использует 64 бита.
binary64 использует вдвое больше битов, чем binary32 , он может более точно кодировать большие значения. binary32 в этом классе.
С вдвое меньшим количеством битов это будет означать значительно меньше работы, чем с представлением binary64 (хотя это все равно может потребовать много работы).
Для ясности, однако, эти два формата работают одинаково.
Преобразование десятичного числа с плавающей запятой в двоичное
32 binary32 .Эти инструкции аналогичны представленным здесь, хотя номера шагов не однозначны (в приведенных ниже инструкциях используется больше шагов, хотя процесс такой же).
Кроме того, онлайн-автоматическое преобразование доступно, если вы хотите немного поэкспериментировать с другими числами.
Обратите внимание, что этот конвертер даст вам только окончательный результат, тогда как в лаборатории я прошу результаты всех промежуточных шагов.
Шаг 1: Определите знак
0 .Если число отрицательное, то бит знака будет 1 .
Для числа ноль возможны как положительный, так и отрицательный ноль, и они считаются разными значениями (причуда использования знаковых битов).
Шаг 2: Преобразование интегральной части в беззнаковое двоичное
-0,75 , то 0 — это целая часть, а его двоичное представление без знака — это просто 0 .
В качестве другого примера, если число для преобразования — 127,99 , то целая часть будет 127 , а ее двоичное представление без знака — 1111111 .
Шаг 3. Преобразование дробной части в двоичную
2 с последующей проверкой того, будет ли результат > = 1,0 .
Если результат равен > = 1,0 , то для двоичной дробной составляющей записывается 1 , а ведущие 1 отбрасываются из результата.
Если результат <1,0 , то для двоичной дробной составляющей записывается 0 , и результат сохраняется как есть.
Записанные сборки располагаются слева направо.Результат будет скован таким образом, пока не будет выполнено одно из следующих утверждений:
1.0 1,0 ) это означает, что дробная составляющая была представлена без потери точности.Со вторым возможным условием завершения (прошло 23 итерации) это означает, что у нас закончились биты в окончательном результате, который никогда не может превышать 23.
В этом случае происходит потеря точности (досадное последствие использования конечного числа битов).
0,75 .
Таблица ниже показывает каждую итерацию по мере ее выполнения.
Итерация
Расчет
> = 1.0 ?
Выходной бит
1
0,75 * 2 = 1,5 да
1 2
0,5 * 2 = 1,0 да
1 11
В этом случае алгоритм завершился с точным результатом (он достиг точно 1.0 ).
0,68 :
Итерация
Расчет
> = 1,0 ?
Выходной бит
1
0,68 * 2 = 1,36 да
1 2
0,36 * 2 = 0.72 нет
0 3
0,72 * 2 = 1,44 да
1 4
0,44 * 2 = 0,88 нет
0 5
0,88 * 2 = 1,76 да
1 6
0.76 * 2 = 1,52 да
1 7
0,52 * 2 = 1,04 да
1 8
0,04 * 2 = 0,08 нет
0 9
0,08 * 2 = 0,16 нет
0 10
0.16 * 2 = 0,32 нет
0 11
0,32 * 2 = 0,64 нет
0 12
0,64 * 2 = 1,28 да
1 13
0,28 * 2 = 0,56 нет
0 14
0.56 * 2 = 1,12 да
1 15
0,12 * 2 = 0,24 нет
0 16
0,24 * 2 = 0,48 нет
0 17
0,48 * 2 = 0,96 нет
0 18
0.96 * 2 = 1,92 да
1 19
0,92 * 2 = 1,84 да
1 20
0,84 * 2 = 1,68 да
1 21
0,68 * 2 = 1,36 Десятичный преобразователь в двоичный.Онлайн-инструмент для преобразования десятичных чисел в двоичные
Двоичная система
Десятичная система
(62) 10 = (111110) 2
(142) 10 = (10001110) 2
(4098) 10 = (1000000000010) 2
декабрь
шестигранник
двоичный
декабрь
шестигранник
двоичный
0
00
0000 0000
128
80
1000 0000
1
01
0000 0001
129
81
1000 0001
2
02
0000 0010
130
82
1000 0010
3
03
0000 0011
131
83
1000 0011
4
04
0000 0100
132
84
1000 0100
5
05
0000 0101
133
85
1000 0101
6
06
0000 0110
134
86
1000 0110
7
07
0000 0111
135
87
1000 0111
8
08
0000 1000
136
88
1000 1000
9
09
0000 1001
137
89
1000 1001
10
0A
0000 1010
138
8A
1000 1010
11
0Б
0000 1011
139
8Б
1000 1011
12
0C
0000 1100
140
8C
1000 1100
13
0D
0000 1101
141
8D
1000 1101
14
0E
0000 1110
142
8E
1000 1110
15
0F
0000 1111
143
8F
1000 1111
16
10
0001 0000
144
90
1001 0000
17
11
0001 0001
145
91
1001 0001
18
12
0001 0010
146
92
1001 0010
19
13
0001 0011
147
93
1001 0011
20
14
0001 0100
148
94
1001 0100
21
15
0001 0101
149
95
1001 0101
22
16
0001 0110
150
96
1001 0110
23
17
0001 0111
151
97
1001 0111
24
18
0001 1000
152
98
1001 1000
25
19
0001 1001
153
99
1001 1001
26
1A
0001 1010
154
9A
1001 1010
27
1Б
0001 1011
155
9Б
1001 1011
28
1С
0001 1100
156
9C
1001 1100
29
1D
0001 1101
157
9D
1001 1101
30
1E
0001 1110
158
9E
1001 1110
31
1 этаж
0001 1111
159
9F
1001 1111
32
20
0010 0000
160
A0
1010 0000
33
21
0010 0001
161
A1
1010 0001
34
22
0010 0010
162
A2
1010 0010
35
23
0010 0011
163
A3
1010 0011
36
24
0010 0100
164
A4
1010 0100
37
25
0010 0101
165
A5
1010 0101
38
26
0010 0110
166
A6
1010 0110
39
27
0010 0111
167
A7
1010 0111
40
28
0010 1000
168
A8
1010 1000
41
29
0010 1001
169
A9
1010 1001
42
2A
0010 1010
170
AA
1010 1010
43
2Б
0010 1011
171
AB
1010 1011
44
2C
0010 1100
172
AC
1010 1100
45
2D
0010 1101
173
н.э.
1010 1101
46
2E
0010 1110
174
AE
1010 1110
47
2F
0010 1111
175
AF
1010 1111
48
30
0011 0000
176
B0
1011 0000
49
31
0011 0001
177
B1
1011 0001
50
32
0011 0010
178
B2
1011 0010
51
33
0011 0011
179
B3
1011 0011
52
34
0011 0100
180
B4
1011 0100
53
35
0011 0101
181
B5
1011 0101
54
36
0011 0110
182
B6
1011 0110
55
37
0011 0111
183
B7
1011 0111
56
38
0011 1000
184
B8
1011 1000
57
39
0011 1001
185
B9
1011 1001
58
3A
0011 1010
186
BA
1011 1010
59
3B
0011 1011
187
BB
1011 1011
60
3C
0011 1100
188
г. до н.э.
1011 1100
61
3D
0011 1101
189
BD
1011 1101
62
3E
0011 1110
190
BE
1011 1110
63
3F
0011 1111
191
BF
1011 1111
64
40
0100 0000
192
C0
1100 0000
65
41
0100 0001
193
C1
1100 0001
66
42
0100 0010
194
C2
1100 0010
67
43
0100 0011
195
C3
1100 0011
68
44
0100 0100
196
C4
1100 0100
69
45
0100 0101
197
C5
1100 0101
70
46
0100 0110
198
C6
1100 0110
71
47
1100 0111
199
C7
1100 0111
72
48
0100 1000
200
C8
1100 1000
73
49
0100 1001
201
C9
1100 1001
74
4A
0100 1010
202
CA
1100 1010
75
4B
0100 1011
203
CB
1100 1011
76
4C
0100 1100
204
CC
1100 1100
77
4D
0100 1101
205
CD
1100 1101
78
4E
0100 1110
206
CE
1100 1110
79
4F
1100 1111
207
CF
1100 1111
80
50
0101 0000
208
D0
1101 0000
81
51
0101 0001
209
D1
1101 0001
82
52
0101 0010
210
D2
1101 0010
83
53
0101 0011
211
D3
1101 0011
84
54
0101 0100
212
D4
1101 0100
85
55
0101 0101
213
D5
1101 0101
86
56
0101 0110
214
D6
1101 0110
87
57
1101 0111
215
D7
1101 0111
88
58
0101 1000
216
D8
1101 1000
89
59
0101 1001
217
D9
1101 1001
90
5A
0101 1010
218
DA
1101 1010
91
5Б
0100 1011
219
DB
1101 1011
92
5C
0101 1100
220
DC
1101 1100
93
5D
0101 1101
221
DD
1101 1101
94
5E
0101 1110
222
DE
1101 1110
95
5F
1101 1111
223
DF
1101 1111
96
60
0110 0000
224
E0
1110 0000
97
61
0110 0001
225
E1
1110 0001
98
62
0110 0010
226
E2
1110 0010
99
63
0110 0011
227
E3
1110 0011
100
64
0110 0100
228
E4
1110 0100
101
65
0110 0101
229
E5
1110 0101
102
66
0110 0110
230
E6
1110 0110
103
67
1110 0111
231
E7
1110 0111
104
68
0110 1000
232
E8
1110 1000
105
69
0110 1001
233
E9
1110 1001
106
6A
0110 1010
234
EA
1110 1010
107
6Б
0110 1011
235
EB
1110 1011
108
6C
0110 1100
236
EC
1110 1100
109
6D
0110 1101
237
ED
1110 1101
110
6E
0110 1110
238
EE
1110 1110
111
6F
1110 1111
239
EF
1110 1111
112
70
0111 0000
240
F0
1111 0000
113
71
0111 0001
241
F1
1111 0001
114
72
0111 0010
242
F2
1111 0010
115
73
0111 0011
243
F3
1111 0011
116
74
0111 0100
244
F4
1111 0100
117
75
0111 0101
245
F5
1111 0101
118
76
0111 0110
246
F6
1111 0110
119
77
1111 0111
247
F7
1111 0111
120
78
0111 1000
248
F8
1111 1000
121
79
0111 1001
249
F9
1111 1001
122
7A
0111 1010
250
FA
1111 1010
123
7B
0111 1011
251
FB
1111 1011
124
7C
0111 1100
252
FC
1111 1100
125
7D
0111 1101
253
FD
1111 1101
126
7E
0111 1110
254
FE
1111 1110
127
7F
0111 1111
255
FF
1111 1111
Преобразование десятичного числа в двоичное числа с дробной частью - Преобразование - DYclassroom
Программирование на C
Ява
PHP
Python
Контроль версий
Git
База данных
MongoDB
MySQL
Unix / Linux
Программирование оболочки Unix
Vim
Тестирование
Мокко
Мокко Чай
PHPUnit
Код
Программирование
Код JavaScript
Типовой дизайн
Эскиз
Фотошоп
Подробнее...
Apache ActiveMQ
Зеркалка
Деньги
Веб-разработчик
CSS
HTML
JavaScript
jQuery
База данных
СУБД
Redis
SQL
Язык программирования
Программирование на C
PHP
Символы ASCII
База данных
Греческие буквы
HTML-объекты
JavaScript
Linux
Математические символы
Римские цифры
Сервер
Интернет
YouTube
Больше...
Mac
В Java Как преобразовать число из двоичного в десятичное и десятичное в двоичное • Crunchify
Пакет Онлайн-калькулятор: двоично-десятичный код (BCD)
В упакованном BCD наш 0,8 становится 0,1000, а, например, 6,75 становится 0110.01110101.
Так что это просто старая любопытная вещь, и я ничего о ней не знал, пока мне не сказали пользователи сайта.
Десятичный код в двоичном коде (BCD)
