Что такое конвертер IEEE 754?
Преобразователь IEEE 754 показывает, как компьютер хранит число с плавающей запятой. Введите десятичное значение, подобное 3.14159, и инструмент закодирует его в точный битовый шаблон, определенный стандартом IEEE 754, разделив результат на три его части: бит знака, поле показателя степени и мантиссу (также называемую дробью или мантиссой). Он работает в обоих направлениях, поэтому вы также можете вставить 32-битную или 64-битную двоичную строку или ее шестнадцатеричный эквивалент и декодировать ее обратно в число, которое она представляет.
Используется как преобразователь с плавающей запятой IEEE 754, делает видимой классическую задачу 0.1. Выберите Одиночный (32-разрядный), сохраняйте десятичный, введите 0.1 и нажмите Преобразование: шестнадцатеричный равен 3DCCCCCD, смещенный показатель степени равен 123 (несмещенный 2^-4), а сохраненное значение читает 0.1000000149011612. Переключитесь на двойной (64-разрядный) и тот же вход дает 3FB9999999999A, однако сохраненное значение показывает 0.1, потому что двойное напечатано как кратчайшее десятичное число, которое считывает обратно к тем же 64 битам.
Числа с плавающей запятой хранятся не так, как мы их пишем. Значение сохраняется как знак, степень двойки и дробная мантисса, следуя схеме в IEEE 754-2019. Именно поэтому дизайн 0,1 плюс 0,2 не равен точно 0,3, почему некоторые десятичные дроби округлены при хранении и почему очень большие и очень маленькие величины возможны в тех же 32 или 64 битах. Видеть выложенный знак, показатель степени и мантиссу делает такое поведение конкретным, а не загадочным, что помогает, когда вы отлаживаете числовую ошибку, пишете сериализатор, изучаете компьютерную архитектуру или сравниваете одинарную и двойную точность.
Этот инструмент работает на стороне клиента и использует те же примитивы ArrayBuffer и DataView, которые движок JavaScript использует внутри, поэтому битовые шаблоны соответствуют тому, что будет производить ваш ЦП, вплоть до округления. Одиночная точность (binary32) использует 1 знаковый бит, 8 битов показателя степени и 23 бита мантиссы; двойная точность (binary64) использует 1 знаковый бит, 11 битов показателя степени и 52 бита мантиссы. Особые случаи обрабатываются слишком: положительный и отрицательный ноль, ненормальные числа, бесконечность и NaN идентифицируются. Ничто из введенного вами не загружается, и инструмент продолжает работать в автономном режиме после загрузки.
Как использовать конвертер IEEE 754?
Выберите одинарную или двойную точность
Выберите одиночный (32-разрядный, binary32) или двойной (64-разрядный, binary64).Double - это по умолчанию для большинства языков, поэтому выбирайте его, если вы не ориентируетесь конкретно на float.
Выберите тип ввода
Выберите Десятичный для кодирования числа, или Шестигранный или двоичный для декодирования существующего битового шаблона обратно в значение Специальные входы, такие как Infinity, -Infinity и NaN, принимаются в десятичном режиме.
Введите свою ценность
Введите десятичное число, например 3.14159 или 6.022e23, или вставьте точное количество шестнадцатеричных цифр или битов, которое требуется для точности. преобразование обновляется, как только вы конвертируете.
Прочтите разбивку и скопируйте
См. знак, показатель степени и мантиссу, разделенные вместе с полными битами, шестнадцатеричный, смещенный и несмещенный показатель степени, а также сохраненное значение, считанное обратно с битов. Каждая строка таблицы имеет свою собственную кнопку копирования.
Single and double precision, side by side
A float is three fields packed into a fixed number of bits: one sign bit, an exponent, and the mantissa that holds the digits. How many bits each field gets is the entire difference between a 32-bit and a 64-bit number, and it is what decides where precision runs out.
| Field | Single (32-bit) | Double (64-bit) |
|---|---|---|
| Sign | 1 bit | 1 bit |
| Exponent | 8 bits | 11 bits |
| Mantissa | 23 bits | 52 bits |
| Exponent bias | 127 | 1023 |
| Total | 4 bytes | 8 bytes |
Основные характеристики
Одиночная и двойная точность
Преобразуйте в binary32 (1 + 8 + 23 бита) или binary64 (1 + 11 + 52 бита), два формата, используемые float и double почти на всех языках.
Оба Направления
Кодируйте десятичное число в биты или декодируйте двоичный или шестнадцатеричный битовый шаблон обратно в значение, которое оно представляет, без инструментов переключения.
Подпись, Экспонента, Мантисса Сплит
Результат разбивается на три поля: в битах хранится как смещенный показатель степени, так и несмещенная степень двойки, которую он применяет.
Обнаружены особые значения
Положительный и отрицательный ноль, субнормальные числа, бесконечность и NaN идентифицируются, поэтому вы можете точно увидеть, в какой случай попадает битовый шаблон.
Frequently Asked Questions
Related Tools
ASCII Table
Full ASCII and extended Latin-1 table with decimal, hex, octal, binary, HTML entity, and character name for every code 0–255, plus a text-to-ASCII-code encoder.
Binary Calculator
Add, subtract, multiply, and divide binary numbers, or run AND, OR, XOR, NOT, and bit shifts, with every result shown in binary, octal, decimal, and hex. 100% client-side.
Binary Translator
Translate text to binary and binary to text, plus hexadecimal, decimal, and octal, with full UTF-8 support
Morse Code Translator
Translate text to Morse code and Morse code to text using the International (ITU) standard, with audio playback and full punctuation support
Comments
0 comments
No comments yet. Be the first to share your thoughts!