Время и математика

Числа, биты и конвертеры единиц

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

Конвертер систем счисления работает с основаниями от 2 до 36 без округления больших целых чисел, которое обычные калькуляторы часто делают незаметно. побитовый калькулятор выполняет AND, OR, XOR, NOT и сдвиги на значениях от 8 до 64 бит, а калькулятор дополнительного кода читает одно и то же 64-битное слово как знаковое и беззнаковое, показывая, почему значение выглядит отрицательным. Конвертер IEEE 754 показывает точное десятичное значение за битами 32- и 64-битных чисел с плавающей точкой.

7 инструментов

Вопросы об инструментах категории «Numbers, Bitwise & Units»

Почему конвертация большого числа между системами счисления даёт округлённый или неверный результат?

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

Почему число с плавающей точкой печатается не так, как я его ввёл?

Большинство десятичных дробей нельзя представить точно в двоичной плавающей точке, поэтому 0.1 на самом деле хранится как ближайшее представимое 64-битное значение, немного отличающееся от исходного. Конвертер IEEE 754 показывает точное десятичное значение за хранящимися битами и для 32-, и для 64-битных чисел, так что видно, где именно происходит округление.

Как прочитать битовый паттерн дополнительного кода отрицательного числа?

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