Skip to main content
🔬 Advanced

Бинарный калькулятор

Выполните двоичное сложение, вычитание, умножение и деление. Преобразуйте между двоичным и десятичным. Бесплатный математический калькулятор. Получите мгновенные результаты сейчас.

Система двоичных чисел: как считают компьютеры

Бинарная система чисел (база-2) использует только две цифры - 0 и 1 - называемые битами (бинарные цифры). Каждый компьютер, смартфон и цифровое устройство внутренне хранит и обрабатывает всю информацию в двоичном виде, потому что электрические схемы могут надежно представлять два различных состояния: высокое напряжение (1) и низкое напряжение (0).

Каждая позиция в двоичном числе представляет собой степень 2, увеличивающуюся справа налево:

Положение2⁷2⁶2⁵2⁴2⁰
Стоимость1286432168421

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

Пример:101101012= 1x128 + 0x64 + 1x32 + 1x16 + 0x8 + 1x4 + 0x2 + 1x1 = 128 + 32 + 16 + 4 + 1 =181 год

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

Пример: преобразование 181 в двоичный код:

Прочитай остатки снизу вверх:101101012

Бинарная арифметика: сложение, вычитание и умножение

Бинарная арифметика следует тем же правилам, что и десятичная, но перемещения происходят на 2 вместо 10.

Правила двоичного сложения:0+0=0, 0+1=1, 1+0=1, 1+1=10 (нести 1), 1+1+1=11 (нести 1)

Пример: 10112 + 11012 (11 + 13 = 24)

1011 + 1101 ------ 11000

Работа справа налево: 1+1=10 (написать 0, перенести 1); 1+0+1=10 (написать 0, перенести 1); 0+1+1=10 (написать 0, перенести 1); 1+1+1=11 (написать 1, перенести 1); окончательный перенос записывает 1. Результат: 110002 = 24

Дополнение двух (бинарное вычитание):Компьютеры обрабатывают отрицательные числа и вычитание, используя представление дополнения двух. Чтобы найти дополнение двух числа: переверните все биты, затем добавьте 1.

Пример: -13 в 8-битном дополнении двух: +13 = 000011012 -> перевернуть все биты -> 111100102 -> добавить 1 ->111100112

Это позволяет выполнять вычитание как сложение: 20 - 13 = 20 + (-13).

Бинарное умножениеявляется элегантным: каждое частичное произведение равно либо 0 (умножение на 0), либо самому числу (умножение на 1), смещенному влево. Пример: 10112 x 1012 (11 x 5 = 55):

1011 х 101 ----- 1011 (1011 х 1) 0000 (1011 х 0, смещенный) 1011 (1011 х 1, смещенный дважды) ------- 1101112 = 55 

Бинарная система в вычислениях: биты, байты и размеры данных

Понимание бинарных единиц важно для всех, кто работает с компьютерами, хранилищами или сетевыми скоростями:

ЕдиницаРазмерМаксимальная стоимость (без подписи)Распространенное использование
Немного .1 двоичная цифра1Булевой флаг, одно двоичное значение
Немного .4 бита15 (шестиугольник: F)Одна шестнадцатеричная цифра
Байт8 бит255-яОднозначный символ (ASCII), цветный канал
Слово .16 бит65535 человекПредыдущие 16-битные системы, основанные на Unicode
Двойное слово (DWORD)32 бита4 294 967 29532-битные целые числа, адреса IPv4
Квадворд (QWORD)64 бит18,446,744,073,709,551,615Современные целые числа, указатели, временные метки

Цветные значения:Web colors use 24-bit RGB (8 bits per channel). #FF5733 = R:255, G:87, B:51. Каждый 8-битный канал может представлять 256 оттенков (0 - 255).16 777 216(около 16,7 миллиона).

Разрешения на файлы в Unix/Linux:rwxr-xr-- = 111 101 100 в двоичном = 7, 5, 4 в октальном = chmod 754. Каждый набор из 3 битов представляет чтение (r=4), запись (w=2) и выполнение (x=1) разрешений для владельца, группы и других.

Битовые операции и их применение

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

ОперацияСимволПоведениеПример
И&1 если оба бита равны 1.1010 и 1100 = 1000
OR|1 если любой бит равен 11010 -- 1100 = 1110
XOR^1 если биты разные1010 ^ 1100 = 0110
Нет , нет .~Перевернуть все биты~1010 = 0101
Левый сдвиг<<Биты сдвига слева (x2 для каждого сдвига)1011 << 1 = 10110 (x2)
Сдвиг направо>>Сдвиг битов вправо (÷2 каждый сдвиг)1011 >> 1 = 0101 (÷2)

Практическое применение:

Сравнение систем чисел: двоичная, октальная, десятичная, шестидесятичная

В информатике используются четыре системы чисел, каждая из которых подходит для разных контекстов:

СистемаБазаЦифрыРаспространенное использование
Бинарный (база-2)20, 1Операции процессора, память, логика
Октал (база-8)80 - 7Разрешения на файлы Unix, более старые системы
Десятичная цифра (база 10)100 - 9Числа, читаемые человеком
Шестидесятеричный (база-16)160 - 9, А - ФАдреса памяти, цветовые коды, код машины

Быстрое преобразование: двоичный <-> шестичленный(4 двоичные цифры = 1 шестнадцатеричная цифра):

Бинарная системаХекс .ДесятичнаяБинарная системаХекс .Десятичная
Двадцать тысяч.001000 рублей88
0001111001 год99
00102210 - 10A10
0011 год331011 годB11
0100 - - - -441100 г.C12
0101 - - - - -551101 годD13
0110661110 годE14
0111 год771111 годF15

Эта 4-битовая группировка делает гекса чрезвычайно полезным как компактная нотация для бинарных данных: 32-битное значение11001010 00111111 10110101 00001100гораздо проще написать какCA3FB50C.

Бинарный код в сети: IP-адреса и маски подсетей

Понимание бинарной системы важно для сетевой инженерии, потому что адреса IPv4 в основном представляют собой 32-разрядные бинарные числа, а подсети - процесс разделения сетей - полностью опирается на бинарные операции.

IPv4-адрес вроде192.168.1.100является человекочитаемым обозначением для 32-битного бинарного значения:

11000000.10101000.00000001.01100100

A маска подсетиопределяет, какая часть адреса идентифицирует сеть, а какая - хост.

11111111.11111111.11111111.00000000

Битовая AND IP-адреса и маски подсети дает сетевой адрес:

КомпонентДесятичнаяБинарная система
IP-адрес192.168.1.10011000000.10101000.00000001.01100100 - - - - - - - - - - -
Маска подсети255.255.255.0111111111111111111111111111111
Сеть (И)192.168.1.011000000.10101000.00000001.00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000

CIDR обозначение (например, /24) говорит вам, сколько ведущих 1-битов находится в маске подсети. Маска /24 имеет 24 единицы, за которыми следуют 8 нулей, что позволяет 28 - 2 = 254 используемых адресов хоста на подсеть. Маска /16 позволяет 65 534 хостов. Инженеры сети используют бинарную ментальную математику ежедневно для планирования подсетей, вычисления адресов вещания и устранения неполадок маршрутизации.

Бинарная криптография и безопасность

Современные алгоритмы шифрования работают полностью на бинарном уровне, манипулируя отдельными битами посредством комбинаций XOR, битовых сдвигов и операций замещения.

Шифрование XOR (основа современных шифров):XOR имеет уникальное свойство - применение его дважды с помощью одного и того же ключа возвращает первоначальное значение: A K K = A. Это делает XOR основой потоковых шифров и одноразовых клавиш.

Пример: шифрование байта 01001101 (буквы "M" в ASCII) с помощью ключа 10110010:

Размеры ключа в современном шифровании:AES-128 использует 128-битный ключ, что означает, что существует 2128 ~ 3.4 x 1038 возможных ключей - больше, чем количество атомов в наблюдаемой вселенной. AES-256 использует 256-битные ключи с 2256 возможностями. Даже самые быстрые суперкомпьютеры не могут использовать грубую силу для этих ключевых пространств. Каждый дополнительный бит удваивает пространство поиска, поэтому длина ключа имеет экспоненциальное значение в криптографии.

Хеш-функции, такие как SHA-256, производят 256-битный (32-байтовый) двоичный выход из любого ввода. Даже однобитное изменение ввода производит совершенно другой хэш - свойство, называемое "эффектом лавины", которое делает хэши полезными для проверки целостности данных, хранения паролей и поддержки технологии блокчейна.

Бинарные и квантовые вычисления:В то время как классические компьютеры используют бинарные биты (0 или 1), квантовые компьютеры используют кубиты, которые могут существовать в суперпозиции обоих состояний одновременно.

Часто задаваемые вопросы

Почему компьютеры используют двоичный код вместо десятичного?

Электронные схемы наиболее надежны только с двумя различными состояниями: включенным (высокое напряжение ~ 1) и выключенным (низкое напряжение ~ 0). Представление 10 различных состояний для десятичных требовало бы гораздо более точного управления напряжением и было бы гораздо более восприимчивым к электрическому шуму. Простота бинарного позволяет миллиардам транзисторов надежно работать на скоростях GHz с миллиардами операций в секунду.

Какое самое большое число может содержать байт?

Байт (8 битов) может представлять 28 = 256 различных значений. Для неподписанных целых чисел: от 0 до 255. Для подписанных целых чисел (дополнение двух): от -128 до 127. Максимальное значение байта в двоичном исчислении составляет 111111112 = 255; в шестичленном исчислении это FF.

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

Используйте дополнение двух: (1) Преобразуйте положительную версию в двоичную, (2) Переверните все биты (0->1, 1->0), (3) Добавьте 1. Пример: -13 в 8-битах: +13 = 000011012, переверните биты = 111100102, добавьте 1 = 111100112.

В чем разница между бинарным и гексадецимальным?

Оба являются позиционными числовыми системами, используемыми в вычислениях. Бинарный (база-2) использует только 0 и 1 - родной язык компьютеров. Гексадециальный (база-16) использует 0 - 9 и A - F в качестве компактной обозначения для бинарного - каждые 4 двоичных цифры соответствуют точно 1 шестизначной цифре. Hex используется для адресов памяти, цветовых кодов (#RRGGBB) и машинного кода, потому что он более компактный и читаемый, чем необработанный двоичный.

Для чего используются битовые операции?

Операции по битам (AND, OR, XOR, NOT, shifts) манипулируют отдельными битами внутри целых чисел.

Что такое бинарная плавающая точка и почему 0.1 + 0.2 ≠ 0.3 в программировании?

Большинство современных компьютеров используют IEEE 754 двоичную плавающую запятую, которая представляет десятичные дроби в двоичной системе. Так же, как 1/3 = 0,3333... не может быть представлена точно в десятичной системе, 1/10 не может быть представлена точно в двоичной системе (это бесконечно повторяющаяся двоичная дробица). Это вызывает крошечные ошибки округления: на большинстве языков, 0,1 + 0,2 = 0,30000000000000004. Используйте целочисленную арифметику (работа в центах, а не долларах) или десятичные библиотеки для точных финансовых расчетов.

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

Хранилище измеряется в байтах (8 бит), килобайтах (1024 байтах), мегабайтах (1024 КБ), гигабайтах (1024 МБ) и т. д. Примечание: производители жестких дисков используют префиксы SI (1 КБ = 1000 байт), в то время как операционные системы используют бинарные префиксы (1 КБ = 1024 байт), вызывая очевидную несоответствие "недостающего пространства" при покупке хранилища.

Что такое двоично-кодированная десятичная цифра (BCD)?

BCD кодирует каждую десятичную цифру в виде 4-битной двоичной группы: 0=0000, 1=0001, ..., 9=1001. Таким образом, десятичная цифра 93 в BCD равна 1001 0011. BCD используется в финансовых системах (избегает ошибок округления с плавающей запятой), цифровых часах и дисплеях (7-сегментных дисплеях непосредственно декодируют BCD) и старых мейнфреймовых системах.

},{"@type":"Вопрос","название":"Какое наибольшее число может содержать байт?","acceptedAnswer":{"@type":"Answer","text":"Байт (8 бит) может представлять 28 = 256 различных значений. Для неподписанных целых чисел: от 0 до 255. Для подписанных целых чисел (дополнение двух): -128 до 127. Максимальное значение неподписанного байта в бинарной системе составляет 111111112 = 255; в гекса это FF. "}},{"@type":"Вопрос","название":"Как я преобразую отрицательное число в бинарную систему?","acceptedAnswer":{"@type"","Answer"text":"Используйте два:": (1) Преобразуйте положительную комплементарную систему в положительную, (2) Добавьте все бинарные биты, (3) Flip-> версия (0-1, 1) Пример - -13 в 8-битах: +13 = 000011012, flip bits = 111100102, add 1 = 111100112. Это то, как все современные компьютеры хранят отрицательные целые числа. "}},{"@type":"Вопрос","название":"Какова разница между двоичным и шестнадцатеричным?","acceptedAnswer":{"@type":":"Answer","text":"Обе позиционные системы чисел, используемые в вычислениях. Бинарный (база-2) использует только 0 и 1 - родной язык компьютеров. Шестидесятеричный (база-16) использует 0 - 9 и A - F в качестве компактной обозначения для двоичного - каждые 4 двоичные цифры соответствуют точно 1 шестнадцатеричной цифре. Hex используется для адресов памяти, цветовых кодов (#RRGGBB) и машинного кода, потому что он более компактный и читаемый, чем необработанный двоичный. "}},{"@type":"Вопрос","название":"Какие битовые операции используются?","acceptedAnswer":{"@type":"Answer","text":"Битовые операции (AND, OR, XOR, NOT, shifts) манипулируют отдельными битами внутри целых чисел. Распространенное использование: битовые флаги и разрешения (Unix chmod), проверка четных/нечетных (n & 1), быстрое умножение/разделение на степени 2 (битовое смещение), алгоритмы шифрования, хеш-функции, обнаружение ошибок CRC, маски подсети сети и разработка игр (компактное хранение состояния в одном целом числе). "}},{"@type":"Вопрос","имя":"Что такое бинарная плавающая запятая и почему 0.1 + 0.2 ≠ 0.3 в программировании?","принятОтвет":{"type"@:"Ответ","текст":"Большинство современных компьютеров используют IEEE 754 бинарную плавающую запятую, которая представляет десятичные дроби в двоичном виде. Точно так же, как 1/3 = 0.33... не может быть точно представлена в десятичном, 1/10 не может быть точно представлена в двоичном виде (бесконечно повторяющаяся двоичная дроби). Это вызывает небольшие ошибки округления: на большинстве языков 0.1 + 0.2 = 0.30000000000000004. Используйте арифметику целых чисел (работа в центах, а не в долларах) или десятичные библиотеки для точных финансовых расчетов. "}},{"@type":"Вопрос","название":"Как используется двоичный код при хранении данных и размерах файлов?","acceptedОтвет":{"@type":"Ответ","текст":"Хранилище измеряется в байтах (8 битов), килобайтах (1,024 байта), мегабайтах (1,024 КБ), гигабайтах (1,024 МБ) и т. Д. Примечание: производители жестких дисков используют SI-префиксы (1 КБ = 1000), в то время как операционные системы используют двоичные префиксы (1 КиБ = 1,024 байта), вызывая очевидные расхождения при покупке хранилища. BCD используется в финансовых системах (избегает ошибок округления с плавающей точкой), цифровых часах и дисплеях (7-сегментных дисплеях непосредственно декодируют BCD) и старых мейнфреймных системах. Он менее пространственно-эффективен, чем чистый бинарный код, но устраняет ошибки преобразования десятичной в бинарную в критически важных приложениях.