Комментарии (1)
Ответ сгенерирован нейросетью и может содержать ошибки
В какой системе счисления работает компьютер
Компьютеры работают в двоичной системе счисления (бинарной или base-2). Это фундаментальный принцип всей цифровой электроники.
Почему двоичная система?
Двоичная система используется потому, что она идеально подходит для электроники:
- 0 представляет отсутствие электрического сигнала (низкое напряжение)
- 1 представляет наличие сигнала (высокое напряжение)
Это надежно, просто и экономно энергии.
Как это работает
Вся информация в компьютере кодируется последовательностями битов (бинарных цифр):
Десятичная: 0 1 2 3 4 5 6 7 8 9 10
Двоичная: 0 1 10 11 100 101 110 111 1000 1001 1010
Каждый бит — это одна позиция в двоичном числе. Каждая позиция стоит в два раза больше, чем предыдущая:
2^3 = 8 2^2 = 4 2^1 = 2 2^0 = 1
1 0 1 0
Это число = (1 × 8) + (0 × 4) + (1 × 2) + (0 × 1) = 10 в десятичной системе
Примеры в контексте Frontend
Битовые операции в JavaScript
// Двоичное представление
const num = 5; // в двоичной: 0101
// Битовые операции работают на уровне двоичных цифр
console.log(5 & 3); // 0101 & 0011 = 0001 (результат: 1)
console.log(5 | 3); // 0101 | 0011 = 0111 (результат: 7)
console.log(5 ^ 3); // 0101 ^ 0011 = 0110 (результат: 6)
console.log(~5); // NOT 0101 = 1010 (результат: -6)
console.log(5 << 1); // 0101 << 1 = 1010 (результат: 10)
console.log(5 >> 1); // 0101 >> 1 = 0010 (результат: 2)
Цвета в веб-разработке (RGB в шестнадцатеричной)
// Хотя мы используем шестнадцатеричную (16-ричную), она просто удобнее для представления двоичных данных
// #FF0000 — это 11111111 00000000 00000000 в двоичной
const red = 0xFF0000; // каждый канал — 8 бит (256 значений: 0-255)
const green = 0x00FF00;
const blue = 0x0000FF;
Проверка четности (двоичная операция)
// Последний бит определяет четность
function isEven(num) {
return (num & 1) === 0; // если последний бит 0 — число четное
}
console.log(isEven(4)); // true (100 & 1 = 0)
console.log(isEven(5)); // false (101 & 1 = 1)
Другие системы счисления
Частая путаница: компьютер работает в двоичной, но для удобства мы используем другие системы:
-
Восьмеричная (8-ричная, octal): 0, 1, 2, 3, 4, 5, 6, 7
const octal = 0o755; // файловые права в Linux -
Шестнадцатеричная (16-ричная, hexadecimal): 0-9, A-F
const hex = 0xFF; // 255 в десятичной const color = #ABC123; -
Десятичная (10-ричная, decimal): то, что мы используем в повседневной жизни
const decimal = 255;
Преобразования в JavaScript
// В двоичную строку
const num = 42;
console.log(num.toString(2)); // "101010"
// В шестнадцатеричную
console.log(num.toString(16)); // "2a"
// В восьмеричную
console.log(num.toString(8)); // "52"
// Из двоичной обратно
console.log(parseInt(101010, 2)); // 42
console.log(parseInt(2a, 16)); // 42
Резюме
Компьютер на самом деле работает только в двоичной системе — это физический уровень. Все остальные системы (10-ричная, 16-ричная) — это просто удобные представления для людей. На уровне процессора, памяти и всех вычислений используются только 0 и 1.