Перейти к содержанию
100% локально

Конвертер дополнения до двух

Преобразуйте целое число в его представление дополнения до двух с выбранной шириной бита или декодируйте биты обратно в число.

Входные данные
Выходные данные

Конвертер дополнения до двух

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

Выберите ширину бита 8, 16, 32 или 64 — размеры, которые реально используют процессоры и языки программирования для байта, short, int и long — и формат вывода в виде чистого бинарного или шестнадцатеричного. Опция "Со знаком" определяет, как интерпретируется значение: при включении битовый паттерн читается как дополнение до двух (поэтому верхний бит означает отрицательное) и число должно соответствовать диапазону со знаком для этой ширины; при отключении оба направления обрабатывают одинаковые биты как обычное целое число без знака. Переключение направления меняет кодирование на декодирование без потери вводимых данных, поэтому проверка туда-обратно преобразования — это один клик.

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

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

FAQ

Что такое дополнение до двух в одном предложении?
Это стандартный способ, которым компьютеры представляют отрицательные целые числа в двоичном виде: одни и те же биты, которые означают большое положительное число при чтении без знака, означают отрицательное число, когда верхний бит читается как знак, и два представления отличаются ровно на 2^ширина.
Почему значение помечается как "вне диапазона" вместо простой ошибки?
Переполнение — это правильное поведение дополнения до двух для значения вне диапазона, а не сбой, поэтому инструмент все равно производит переполненные биты. Он помечает затронутые строки, чтобы случайное переполнение в списке чисел было легко заметить; отключите опцию «Пометить значения вне диапазона», если вы не хотите это уведомление.
Что меняет опция "Со знаком"?
При включении декодирование рассматривает верхний бит как знак (стандартное дополнение до двух) и кодирование требует, чтобы число соответствовало диапазону со знаком, например -128..127 при 8 битах. При отключении одинаковые биты читаются как обычное целое число без знака от 0 до 2^ширина - 1.
Могу ли я преобразовать весь список чисел одновременно?
Да. Вставьте одно число (или один битовый паттерн при декодировании) на строку и каждая строка преобразуется независимо, в том же порядке, с сохранением пустых строк.
Загружаются ли мои данные куда-либо?
Нет. Преобразование полностью происходит в вашем браузере — ничто, что вы введете или вставите, никогда не отправляется на сервер.