Двоичное в десятичное. Перевод чисел между двоичной и десятичной системами счисления: алгоритмы и примеры

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

Содержание

Двоичная система счисления: основные понятия

Двоичная система счисления — это позиционная система счисления с основанием 2. В ней для записи чисел используются всего две цифры — 0 и 1. Несмотря на свою простоту, двоичная система имеет огромное значение в современной вычислительной технике и цифровой электронике.

Основные преимущества двоичной системы:

  • Простота реализации в электронных схемах (два состояния — есть сигнал/нет сигнала)
  • Надежность хранения и передачи информации
  • Простота выполнения арифметических операций

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

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

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


  1. Пронумеровать разряды двоичного числа справа налево, начиная с нуля
  2. Умножить значение каждого разряда (0 или 1) на 2 в степени номера этого разряда
  3. Сложить полученные значения

Рассмотрим пример перевода двоичного числа 10110 в десятичную систему:

1 * 24 + 0 * 23 + 1 * 22 + 1 * 21 + 0 * 20 = 16 + 0 + 4 + 2 + 0 = 22

Таким образом, 101102 = 2210

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

Для перевода целого десятичного числа в двоичную систему используется метод последовательного деления на 2 с записью остатков:

  1. Разделить число на 2
  2. Записать остаток от деления (0 или 1)
  3. Если частное не равно нулю, повторить шаги 1-2 для полученного частного
  4. Полученные остатки записать в обратном порядке

Рассмотрим пример перевода числа 25 в двоичную систему:

  • 25 / 2 = 12 (остаток 1)
  • 12 / 2 = 6 (остаток 0)
  • 6 / 2 = 3 (остаток 0)
  • 3 / 2 = 1 (остаток 1)
  • 1 / 2 = 0 (остаток 1)

Записываем остатки в обратном порядке: 2510 = 110012

Особенности перевода дробных чисел

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


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

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

  1. Целую часть переводим отдельно методом деления на 2
  2. Дробную часть умножаем на 2
  3. Записываем целую часть результата (0 или 1)
  4. Если дробная часть не равна нулю, повторяем шаги 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 состоит из трех частей:

  1. Знаковый бит (0 — положительное число, 1 — отрицательное)
  2. Порядок (смещенная экспонента)
  3. Мантисса (дробная часть)

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

Онлайн-калькуляторы для перевода между системами счисления

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

  • Переводить числа между двоичной, восьмеричной, десятичной и шестнадцатеричной системами
  • Выполнять арифметические операции в разных системах счисления
  • Конвертировать числа с плавающей запятой в формат IEEE 754 и обратно
  • Визуализировать процесс перевода пошагово

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


Заключение

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

  • Эффективно работать с битовыми операциями
  • Оптимизировать использование памяти
  • Разрабатывать алгоритмы для обработки данных на низком уровне
  • Лучше понимать внутреннее устройство компьютерных систем

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


Онлайн калькулятор: Двоично-десятичное кодирование

После калькулятора Перевод дробных чисел из одной системы счисления в другую я думал, что тема с системами счисления уже закрыта. Но, как оказалось, еще нет.
Как я писал по ссылке выше, основная проблема при переводе дробных чисел из одной системы счисления в другую это потеря точности, когда, например, десятичное число 0.8 нельзя перевести в двоичное без погрешности.

Поскольку десятичные числа активно используются человеком, а двоичные — компьютером, этой проблемой в применении к двоичной и десятичной системам однажды уже озаботились какие-то светлые умы и придумали двоично-десятичное кодирование (binary coded decimal, BCD). Суть идеи проста — берем и для каждой десятичной цифры заводим байт. И в этом байте тупо пишем значение десятичной цифры в двоичном коде. Тогда число, например, 0.8 будет 0.00001000. Потом, правда, подумали еще, и решили, что раз уж верхняя часть байта всегда пустует (так как максимум 9 — это 1001), то давайте для каждой десятичной цифры заводить полубайт. И назвали это упакованным двоично-десятичным кодированием (packed BCD).

В упакованном кодировании наше 0.8 будет 0.1000, а какое-нибудь 6.75 будет 0110.01110101.

Прекрасная идея, конечно. Точность не теряется, человек может двоичные числа переводить в десятичные и наоборот прямо на лету, округлять можно, откидывая лишнее. Но как-то не получила она широкого распространения, потому как жизнь машинам она, наоборот, усложняла — и памяти для хранения чисел надо больше, и операции над числами реализовать сложнее. Так и осталась забавным курьезом, и я бы ничего о ней не знал, если бы пользователи не подсказали, что есть такая.

Ну и небольшой калькулятор по этому поводу — вводим либо десятичное число, либо двоичное, подразумевая, что это упакованный двоично-десятичный код, и получаем результат. Понятно, что все преобразования можно проделать и в уме, и в этом ее преимущество; но зачем же лишний раз мозги напрягать, верно?

Двоично-десятичное кодирование

Десятичное число, либо двоично-десятичный код

Десятичное число

 

Двочно-десятичный код

 

content_copy Ссылка save Сохранить extension Виджет

Двоичный в десятичный онлайн-конвертер

наДвоичный в десятичный онлайн-инструмент для конвертации:

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

Binary (Двоичный):

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

Десятичный (Десятичный):

Система десятичных чисел (также известная как арабский) состоит из 10 символов, включая

(0, 1, 2, 3, 4, 5, 6, 7, 8, 9) , которая является наиболее используемой цифровой системой в нашей повседневной жизни.

Как конфертировать из двоичного в десятичное?

Для 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

Таблица преобразования двоичных в десятичные:

двоичный десятичный двоичный десятичный
111010121
1021011022
1131011123
10041100024
10151100125
11061101026
11171101127
100081110028
100191110129
1010101111030
1011111111131
11001210000032
11011310000133
11101410001034
11111510001135
100001610010036
100011710010137
100101810011038
100111910011139
101002010100040

ссылка:

Википедия (двоичная):

Перевод систем счисления — онлайн конвертер

Чтобы перевести число из одной системы счисления в другую, воспользуйтесь нашим онлайн конвертером:

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

Просто введите целое число и выберете системы счисления.

Для примера переведём число 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 — двоичная система.

DecHexBinDecHexBinDecHexBinDecHexBin
0 0064 401000000128 8010000000192 c011000000
1 1165 411000001129 8110000001193 c111000001
2 21066 421000010130 8210000010194 c211000010
3 31167 431000011131 8310000011195 c311000011
4 410068 441000100132 8410000100196 c411000100
5 510169 451000101133 8510000101197 c511000101
6 611070 461000110134 8610000110198 c611000110
7 711171 471000111135 8710000111199 c711000111
8 8100072 481001000136 8810001000200 c811001000
9 9100173 491001001137 8910001001201 c911001001
10 a101074 4a1001010138 8a10001010202 ca11001010
11 b101175 4b1001011139 8b10001011203 cb11001011
12 c110076 4c1001100140 8c10001100204 cc11001100
13 d110177 4d1001101141 8d10001101205 cd11001101
14 e111078 4e1001110142 8e10001110206 ce11001110
15 f111179 4f1001111143 8f10001111207 cf11001111
16 101000080 501010000144 9010010000208 d011010000
17 111000181 511010001145 9110010001209 d111010001
18 121001082 521010010146 9210010010210 d211010010
19 131001183 531010011147 9310010011211 d311010011
20 141010084 541010100148 9410010100212 d411010100
21 151010185 551010101149 9510010101213 d511010101
22 161011086 561010110150 9610010110214 d611010110
23 171011187 571010111151 9710010111215 d711010111
24 181100088 581011000152 9810011000216 d811011000
25 191100189 591011001153 9910011001217 d911011001
26 1a1101090 5a1011010154 9a10011010218 da11011010
27 1b1101191 5b1011011155 9b10011011219 db11011011
28 1c1110092 5c1011100156 9c10011100220 dc11011100
29 1d1110193 5d1011101157 9d10011101221 dd11011101
30 1e1111094 5e1011110158 9e10011110222 de11011110
31 1f1111195 5f1011111159 9f10011111223 df11011111
32 2010000096 601100000160 a010100000224 e011100000
33 2110000197 611100001161 a110100001225 e111100001
34 2210001098 621100010162 a210100010226 e211100010
35 2310001199 631100011163 a310100011227 e311100011
36 24100100100 641100100164 a410100100228 e411100100
37 25100101101 651100101165 a510100101229 e511100101
38 26100110102 661100110166 a610100110230 e611100110
39 27100111103 671100111167 a710100111231 e711100111
40 28101000104 681101000168 a810101000232 e811101000
41 29101001105 691101001169 a910101001233 e911101001
42 2a101010106 6a1101010170 aa10101010234 ea11101010
43 2b101011107 6b1101011171 ab10101011235 eb11101011
44 2c101100108 6c1101100172 ac10101100236 ec11101100
45 2d101101109 6d1101101173 ad10101101237 ed11101101
46 2e101110110 6e1101110174 ae10101110238 ee11101110
47 2f101111111 6f1101111175 af10101111239 ef11101111
48 30110000112 701110000176 b010110000240 f011110000
49 31110001113 711110001177 b110110001241 f111110001
50 32110010114 721110010178 b210110010242 f211110010
51 33110011115 731110011179 b310110011243 f311110011
52 34110100116 741110100180 b410110100244 f411110100
53 35110101117 751110101181 b510110101245 f511110101
54 36110110118 761110110182 b610110110246 f611110110
55 37110111119 771110111183 b710110111247 f711110111
56 38111000120 781111000184 b810111000248 f811111000
57 39111001121 791111001185 b910111001249 f911111001
58 3a111010122 7a1111010186 ba10111010250 fa11111010
59 3b111011123 7b1111011187 bb10111011251 fb11111011
60 3c111100124 7c1111100188 bc10111100252 fc11111100
61 3d111101125 7d1111101189 bd10111101253 fd11111101
62 3e111110126 7e1111110190 be10111110254 fe11111110
63 3f111111127 7f1111111191

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

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

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

  1. Пронумеровать разряды двоичного числа справа налево, начиная с нуля.
  2. Умножить каждый ненулевой разряд на 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, что приводит к потере точности. Например, формат, который мы скоро обсудим (в частности, binary32 ), значение 0,1 не может быть точно закодировано. Попытки кодировать это значение приведут к наиболее близкому возможному кодированию, которое составляет 0.1000000014119384765625 . По общему признанию, это очень близко, хотя потеря точности может стать значительной, когда мы начнем выполнять операции с этими числами. Мы не будем беспокоиться о подобных проблемах в классе, но есть способы исправить это для любопытных.

Хотя стандарт IEEE-754 определяет несколько различных представлений с плавающей запятой, два из них выделяются по популярности:

  • 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. Результат ровно 1.0
  2. Произошло 23 итерации этого процесса; то есть окончательное преобразованное двоичное значение содержит 23 бита

С первым возможным условием завершения (результат точно 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

Десятичный преобразователь в двоичный.Онлайн-инструмент для преобразования десятичных чисел в двоичные

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

Двоичное представление осуществляется только 0 и 1. Они все время используются в информатике для хранения всех значений в строке двоичных цифр 0 и 1. Эта система упрощает решение вычислительных задач, поскольку в электронных системах транзистор использует только эти два состояния.

Десятичная система

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

Десятичная система счисления - самая распространенная и знакомая всем нам система счисления. Она основана на 10 из следующих символов: 0,1,2,3,4,5,6,7,8 и 9 в десятичной системе. системе, каждая цифра имеет свое собственное положение, а также десятичную точку.

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

(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 0000 1011 139 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 0001 1011 155 1001 1011
28 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 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 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 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

Пакет

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 = новый LinkedList ();

// Помещаем первое двоичное число в очередь

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);

}

}

Онлайн-калькулятор: двоично-десятичный код (BCD)

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

Например, я использовал десятичную дробь 0,8, которая не может быть переведена в двоичную систему без ошибки точности.

Поскольку десятичные числа являются "родными" для людей, а двоичные числа "родными" для компьютера, проблема точности (для этих конкретных систем счисления) когда-то получила решение - изобретение двоично-десятичного формата (BCD).Идея была проста - использовать один байт для каждой десятичной цифры. И этот байт должен содержать двоичный код этой цифры. Тогда, например, 0,8 станет 0,00001000.

Ну, вдумавшись, идея была настроена. Поскольку верхний полубайт всегда пуст (начиная с 9, максимальное значение равно 1001) - давайте использовать только один полубайт для каждой десятичной цифры. И это называлось упакованным BCD.
В упакованном BCD наш 0,8 становится 0,1000, а, например, 6,75 становится 0110.01110101.

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

Вот калькулятор для BCD. Вы можете ввести десятичный или двоично-десятичный формат и получить преобразование. Конечно, это можно сделать в уме (и в этом преимущество BCD), но просто позвольте компьютеру сделать это за вас.

Десятичный код в двоичном коде (BCD)

Вы можете ввести десятичный или двоичный код в формате BCD

content_copy Link save Save extension Widget

.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *