Интерактивный мобильный симулятор данных под капотом ЭВМ
Каждая цифра в двоичном числе имеет свою «силу» (вес), зависящую от позиции. Справа налево разряды равны: 1, 2, 4, 8.
| Вес разряда | 8 (2³) | 4 (2²) | 2 (2¹) | 1 (2⁰) |
|---|---|---|---|---|
| Бит числа | 1 | 1 | 0 | 1 |
| Результат |
Нажимайте на транзисторы, чтобы пустить ток (1) или перекрыть его (0). Посмотрите, как из битов собирается число.
Решите пример внутри АЛУ. Вводите ответы справа налево. Система проверяет каждый разряд и бит переноса («Память»)!
| Память: | |||||
| 1 | 0 | 1 | 1 | ||
| + | 0 | 1 | 1 | 1 | |
| Сумма: |
Каждый пиксель состоит из трех точек: Red, Green, Blue. Включение всех каналов на максимум (255) создаёт белый цвет.
Программисты используют 16-ричную систему (0-9 и буквы A-F), где каждые два символа кода — это полноценный байт (00-FF).
Для экономии памяти веса нейросетей переводят из вещественного FP32 (4 байта) в целочисленный INT8 (1 байт).
| Формат | Размер | Структура битов |
|---|---|---|
| FP32 | 32 бита | 1 знак | 8 экспонента | 23 мантисса |
| BF16 (Google) | 16 бит | 1 знак | 8 экспонента | 7 мантисса |
| INT8 | 8 бит | Дискретное целое число (-128...127) |
Двоичные дроби вызывают микропогрешности. Посмотрите, как процессор видит простое математическое сложение:
Для точного сохранения баланса, программисты используют Fixed-Point — умножают данные на 100 или 1000 и сохраняют как точный тип Integer.