Биты и двоичные числа
Восемь переключателей могут показать 256 разных комбинаций, этого хватает на все числа от 0 до 255.
Прежде чем читать, попробуй переключатели ниже. Нажми «Всё выключить». Теперь включи только самый правый переключатель и прочитай строку под рядом: 1. Выключи его и включи соседний слева: 2. Следующий даёт 4, а за ним 8. Двигайся дальше влево. К дальнему концу ты встретишь все значения, которые может иметь переключатель в байте, и последний стоит 128.
Перетащи, чтобы повернуть. Колёсико или щипок для масштаба.
Каждый переключатель стоит вдвое больше правого соседа
То, что ты сейчас увидел, и есть вся идея двоичной системы. В десятичной системе каждый разряд в десять раз больше разряда справа: единицы, десятки, сотни. В двоичной каждый разряд вдвое больше, поэтому значения идут так: 1, 2, 4, 8, 16, 32, 64, 128. Чтобы прочитать комбинацию, сложи значения включённых переключателей. В 00100101 включены переключатели 32, 4 и 1, что даёт 32 + 4 + 1 = 37. Включи ровно эти три, и строка суммы должна совпасть. Ещё одно правило получается само собой. Нечётное значение только у самого правого переключателя. Значит, число чётное тогда и только тогда, когда его последний бит равен 0.
Почему микросхема использует два состояния, а не десять
Переключатели на экране изображают настоящие. В микросхеме компьютера миллиарды крошечных электронных переключателей, транзисторов, и в каждый момент каждый из них либо пропускает ток, либо нет. Инженеры записывают эти два состояния как 1 и 0. Одно такое значение называется битом, от binary digit, «двоичная цифра». И буква, которую ты печатаешь, и песня, которую ты включаешь, в итоге становятся длинными рядами битов.
Почему не десять состояний, по одному на каждую десятичную цифру? Напряжение на проводнике внутри микросхемы никогда не бывает точным. Нагрев, соседние проводники и небольшие различия между транзисторами всё время немного сдвигают его вверх и вниз. Схема, которой нужно лишь отличать высокое от низкого, почти всё это пропускает мимо, потому что всё выше средней линии считается 1, а всё ниже 0. Втисни десять уровней в тот же диапазон, и они окажутся так близко, что небольшой шум может превратить один в соседний. Два состояния подходят и переключателю. Он либо полностью включён, либо полностью выключен, и ему никогда не нужно аккуратно держать промежуточное положение.
Записываем 100 переключателями
Обратный путь, от числа к битам, похож на оплату самой крупной монетой, которая подходит. Возьмём 100. 128 слишком много. 64 подходит, остаётся 36. 32 подходит, остаётся 4. И 16, и 8 больше 4. 4 подходит, остаётся 0. Значит, включены переключатели 64, 32 и 4: 1100100, или 01100100 как полный байт. Выбери в сцене цель 100 и проверь. Некоторым больше нравится второй способ. Дели на 2 снова и снова, записывай каждый остаток, а потом читай остатки снизу вверх. Оба способа дают одни и те же биты.
Ещё один переключатель удваивает число комбинаций
Сколько разных чисел могут дать восемь переключателей? Каждый лишний бит удваивает количество. Один бит даёт 2 комбинации. Два бита дают 4: 00, 01, 10 и 11. Три дают 8, а n битов дают 2 в степени n. Байт, восемь битов, даёт 256 комбинаций, поэтому байт считает от 0 до 255, и поэтому же каждое из четырёх чисел в адресе IPv4 не больше 255. Нужно дать 1000 предметам собственные номера? 9 битов дают только 512. Нужно 10, они дают 1024.
Нажми +1 несколько раз, начиная с 0, и следи за переключателями. Это похоже на счётчик пробега в машине, где на каждом колёсике всего две цифры. 0, потом 1, потом разряд 1 перекидывается и переносит единицу в разряд 2: 10. Потом 11. Потом перекидываются оба сразу: 100. Когда включены все переключатели, получается 11111111, то есть 255. Настоящий ответ на 255 + 1 равен 256, и для него нужен девятый бит: 100000000. Сцена хранит только восемь битов, поэтому +1 от 255 показывает 0. Это переполнение. Оно вернётся в уроке о сумматоре.
| Бит | Одна двоичная цифра: 0 или 1 |
| Байт | 8 битов, 256 комбинаций |
| Разрядные значения | 1, 2, 4, 8, 16, 32, 64, 128 |
| n битов | 2ⁿ комбинаций |
| 11111111 | 255 |
| Переполнение | Результат, слишком большой для битов, которые его хранят |
- «10 означает десять». Только в десятичной системе. В двоичной 10 означает одну 2 и ни одной 1, то есть два. Если число можно прочитать и так, и так, пиши после него маленькую 2, как в 10₂, чтобы показать, какую систему ты имеешь в виду.
- «Больше цифр 1 значит больше число». Положение важнее количества. В 01111111 семь цифр 1, и это 127. В 10000000 одна цифра 1, и это 128. Один самый левый переключатель перевешивает все семь справа от него, потому что 128 = 127 + 1.
- «Байт вмещает числа до 256». У байта 256 комбинаций, но одна из них, 00000000, занята нулём. Поэтому наибольшее число 255. Четыре бита ведут себя так же: 16 комбинаций, наибольшее 15.
- Чему равно 1011 в десятичной системе?
- Запиши 37 в двоичной системе (без нулей впереди).
- Чему равно 1100100 в десятичной системе?
- Сколько разных комбинаций могут показать 8 битов?
- Какое наибольшее число вмещает один байт?
- Сколько комбинаций дают 4 бита?
- Сколько битов нужно, чтобы дать 1000 предметам разные номера?
- Что идёт после 0111 при счёте в двоичной системе? Используй четыре цифры.
- Какое из этих чисел нечётное?
- 10011
- 10010
- 11110
- 100
- Сколько битов нужно для 255 + 1 = 256?
- Бит равен 0 или 1; байт состоит из 8 битов.
- Двоичные разрядные значения удваиваются: 1, 2, 4, 8, 16, 32, 64, 128.
- n битов дают 2ⁿ комбинаций; байт вмещает от 0 до 255.
- Если прибавить 1 к числу из одних единиц, всё перекидывается и нужен ещё один бит.
Источники курса (9)
- (checked 2026-10-17; reordered 2026-10-19: standards first, then official documentation, then the teaching model and calculations, history sources last)
- Standards: NIST, "Prefixes for binary multiples" (physics.nist.gov/cuu/Units/binary.html: IEC approved kibi, mebi, gibi in December 1998; 1 B = 8 bit; 1 MiB = 1 048 576 B; 1 MB = 1 000 000 B; 1 GiB = 1 073 741 824 B; historical note: memory makers usually mean 2²⁰ bytes by megabyte, storage makers 1 000 000, and the "1.44 MB" diskette uses a megabyte of 1 024 000 bytes)
- IETF RFC 20 "ASCII format for Network Interchange" (1969, 7-bit codes, A = 65, a = 97, 0 = 48)
- IETF RFC 3629 "UTF-8, a transformation format of ISO 10646" (2003: 1 to 4 octets per character, ASCII unchanged, code points up to U+10FFFF, U+0800 to U+FFFF take three octets, "the first octet of a multi-octet sequence indicates the number of octets", example U+D55C U+AD6D U+C5B4 = ED 95 9C EA B5 AD EC 96 B4)
- Official documentation: MDN Web Docs, "<color>" (hexadecimal colour notation #RRGGBB)
- Intel, "Intel Chips" timeline poster (2012: Intel 4004 of 1971 with 2,300 transistors; 2nd generation Core 2010 with 1.16 billion)
- Claude E. Shannon, "A Symbolic Analysis of Relay and Switching Circuits", Transactions of the AIEE vol. 57 (1938)
- abstract of his MIT master's thesis. Computer History Museum, The Silicon Engine, "1947: Invention of the Point-Contact Transistor" (Bardeen and Brattain, December 1947, germanium)
- John von Neumann, "First Draft of a Report on the EDVAC" (30 June 1945, Moore School, reprinted in IEEE Annals of the History of Computing 15:4, 1993).
Проверено: 2026-10-17