бит
Kiejtés
- IPA: [bʲit]
Főnév
бит • (bit) hn
Бит в математике и программировании (C++)
1. Что такое бит?
📌 Бит (bit, binary digit) – это наименьшая единица информации, принимающая значения 0 или 1.
Примеры:
✅ 0 – бит в состоянии выкл (false)
✅ 1 – бит в состоянии вкл (true)
Связь с байтами и другими единицами
1 байт (8 бит) → 1 символ (например, ‘A’ = 01000001)
1 килобайт (1024 байта) → 8192 бита
1 мегабайт (1024 КБ) → 8 388 608 бит
2. Биты в двоичной системе
📌 Числа в компьютере хранятся в двоичной системе (0 и 1).
🔹 Примеры перевода десятичных чисел в двоичную систему
| Десятичное (10) | Двоичное (2) |
|---|---|
0 |
0 |
1 |
1 |
2 |
10 |
3 |
11 |
4 |
100 |
5 |
101 |
6 |
110 |
7 |
111 |
8 |
1000 |
🔹 Как перевести число в двоичный код вручную?
Делим на 2 и записываем остатки:
Пример: 19 → ? (2)
19 / 2 = 9, остаток 1 9 / 2 = 4, остаток 1 4 / 2 = 2, остаток 0 2 / 2 = 1, остаток 0 1 / 2 = 0, остаток 1
Ответ: 10011₂
3. Биты в C++
📌 В C++ биты используются в битовых операциях, оптимизации памяти, шифровании, алгоритмах ИИ.
Битовые операторы в C++
| Оператор | Описание | Пример |
|---|---|---|
& |
Побитовое И (AND) | 5 & 3 → 1 |
| Побитовое ИЛИ (OR) | 3 → 7 | |
^ |
Побитовое XOR (исключающее ИЛИ) | 5 ^ 3 → 6 |
~ |
Побитовое НЕ (инверсия) | ~5 → -6 |
<< |
Сдвиг влево (умножение на 2) | 5 << 1 → 10 |
>> |
Сдвиг вправо (деление на 2) | 5 >> 1 → 2 |
4. Примеры битовых операций в C++
Побитовое “И” (&)
#include <iostream>
using namespace std;
int main() {
int a = 5; // 0101₂
int b = 3; // 0011₂
int result = a & b; // 0001₂ = 1
cout << "5 & 3 = " << result << endl;
return 0;
}
📌 Вывод:
5 & 3 = 1
Побитовое “ИЛИ” (|)
int result = 5 | 3; // 0101 | 0011 = 0111 (7)
📌 Вывод:
5 | 3 = 7
Побитовое “XOR” (^)
int result = 5 ^ 3; // 0101 ^ 0011 = 0110 (6)
📌 XOR устанавливает бит в 1, если они разные.
Инверсия битов (~)
int result = ~5; // 5 = 00000101 → инверсия 11111010 (-6 в дополнении до 2)
📌 Важно! ~5 даёт -6 из-за представления отрицательных чисел в дополнении до двух.
5. Битовые сдвиги
📌 Битовый сдвиг влево (<<) – умножает на 2
int result = 5 << 1; // 5 * 2 = 10
📌 Битовый сдвиг вправо (>>) – делит на 2
int result = 5 >> 1; // 5 / 2 = 2
6. Применение битов
🔹 Оптимизация памяти (битовые флаги, битовые поля).
🔹 Шифрование и хеширование (битовые операции используются в криптографии).
🔹 Обработка изображений и звука (битовые маски).
🔹 Искусственный интеллект (битовые алгоритмы, быстрые операции).
🔹 Сетевые технологии (IP-адреса, побитовые маски).
Вывод
🔹 Бит – это 0 или 1, основа двоичной системы.
🔹 В C++ используются битовые операторы (&, |, ^, ~, <<, >>).
🔹 Биты позволяют эффективно работать с памятью и ускорять вычисления. 🚀