К содержимому
kalqulyator.ru
Личный кабинет

Меню

Кодирование и чтение чисел с плавающей точкой

Сообщите об ошибке или неточности

Опишите найденную неточность.

Осталось 1000 символов

Разместить у себя

Настройте калькулятор и скопируйте код на свой сайт.

Код для вставки

<script src="https://kalqulyator.ru/embed.js" data-calc="e-ieee754-binary32-64" data-mode="button" data-theme="light" data-accent="#1d4ed8" data-text-color="#172033" data-card-bg="#ffffff" data-size="adaptive" async></script>
Как вставить
  1. Tilda: добавьте блок HTML-кода и вставьте строку.
  2. WordPress: добавьте блок "Пользовательский HTML" и вставьте строку.
  3. Обычный HTML: вставьте строку в нужное место страницы.

Предпросмотр

Данные для расчёта

Текстовый режим точно округляет конечную десятичную запись к binary32 или binary64 (ближайшее, ничья — к чётному). В режиме HEX введите ровно 8 или 16 цифр без 0x: биты, включая −0 и payload NaN, сохраняются. Поле «Десятичное чтение» — краткая запись, точное конечное значение дано как целое × степень 2. HEX — запись битового шаблона, а не порядок байтов в памяти.

Точка как десятичный разделитель. До 40 цифр и порядок от −400 до 400; HEX — без 0x, ровно 8 или 16 цифр.

HEX-шаблон

Введите данные - результат обновится автоматически.

3DCCCCCD

Биты: знак | порядок | дробь
0 | 01111011 | 10011001100110011001101
Класс значения
Нормальное
Бит знака
0 (плюс)
Хранимый порядок
123 (смещение 127)
Дробные биты в HEX
0x4CCCCD
Десятичное чтение
0.10000000149011612
Точное двоичное значение
13421773 × 2^-27

Часть значений появится, когда заполните остальные поля.

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

Выберите формат из 32 или 64 бит и способ ввода: десятичная запись либо готовый шестнадцатеричный шаблон. Сравните краткое чтение с точным значением.
Заказать калькулятор под ваш сайт

Описание

В десятичном режиме вводите конечное число с точкой, необязательным знаком и необязательным порядком. Запятая не принимается. Форма допускает до 40 десятичных цифр и до 96 символов исходной записи; порядок после учёта дробных цифр — от минус 400 до 400. Отрицательный ноль сохраняет свой бит знака. Слова для бесконечности и нечислового значения в этом режиме не вводятся; конечная запись при переполнении формата может округлиться до бесконечности.

В режиме готового шаблона нужны ровно 8 шестнадцатеричных цифр для 32 бит или 16 для 64 бит, без префикса. Это запись всей последовательности битов, а не список байтов в памяти. По ней можно увидеть исходный знак нуля и биты нечислового значения; не заменяйте шаблон его кратким десятичным чтением.

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

Как считается

В 32-битном формате первый бит задаёт знак, следующие 8 бит — хранимый порядок со смещением 127, ещё 23 бита — дробную часть. В 64-битном формате порядок занимает 11 бит со смещением 1023, дробная часть — 52 бита. Для нормального числа к дробной части подразумевается ведущая единица; у субнормального числа её нет. Нулевой хранимый порядок обозначает ноль или субнормальное число, полностью заполненный единицами — бесконечность или нечисловое значение.

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

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

Пример расчёта

Ввод
0.1
Формат
binary32 — 32 бита
Режим
Десятичное → биты
HEX-шаблон
3DCCCCCD
Класс значения
Нормальное
Десятичное чтение
0.10000000149011612

Числа взяты из контрольного примера калькулятора - на них он проверяется тестами.

Частые вопросы

Почему введённое 0.1 читается иначе после кодирования?
Десятая доля не имеет конечной двоичной записи в этих форматах. Калькулятор выбирает ближайшее представимое число и отдельно показывает его точное двоичное значение.
Шестнадцатеричный шаблон задаёт порядок байтов?
Нет. Он задаёт всю последовательность битов числа. Порядок байтов конкретного файла или памяти здесь не выбирается.
Можно ли ввести нечисловое значение десятичным словом?
Нет. Десятичный режим принимает конечную числовую запись. Чтобы исследовать биты нечислового значения, введите готовый шаблон подходящей длины.

Источники

Комментарии (0)

Комментариев пока нет.

Оставить комментарий

Комментарий появится после проверки

Связаться с поддержкой

Напишите, чем мы можем помочь.

Вход в кабинет

Забыли пароль?