Месяц 1 · Урок 2 · Центр Памятьвиля

Язык компьютера: биты и байты

Почему компьютер понимает только 0 и 1, как ими считать и как из них получаются буквы и гигабайты.

  1. Серия
  2. Разминка
  3. Теория 1
  4. Игра 1
  5. Теория 2
  6. Игра 2
  7. Теория 3
  8. Босс
  9. Дома
Серия · 5 мин
Разминка · 15 мин

Мем недели

Существует 10 типов котиков
Бит и Нибл смеются над табло с числом 10, дедушка Мега не понимает
те, кто знает двоичный код, и те, кто ждёт ещё восьмерых

Не смешно? К концу урока будет.

Бит танцует
Теория 1 · 40 мин

Почему только 0 и 1

Внутри процессора нет цифр, букв и картинок. Там есть миллиарды крошечных выключателей, которые называются транзисторы. Каждый из них умеет только две вещи: пропускать ток или не пропускать.

Договорились так: ток есть, значит 1, тока нет, значит 0. Один такой выключатель хранит одну «да или нет». Это и есть бит, самая маленькая порция информации.

Бит Байт Да, меня назвали в честь бита. Я тоже умею только два состояния: сплю и ем.

Попробуй: один бит

Нажми на выключатель. Сколько разных сообщений можно передать одним битом?

Ответ: два. «Да» или «нет», «свет горит» или «не горит».

Одного бита мало. Но если поставить выключатели в ряд, вариантов становится больше. Два бита дают 4 комбинации: 00, 01, 10, 11. Три бита дают 8. Каждый новый бит удваивает число вариантов.

Попробуй: три бита

Найди все 8 комбинаций. Справа видно, какое число они означают.

= 0

Глубже: почему не 10 уровней тока, как 10 цифр?

Можно было бы делить напряжение на 10 ступенек, по одной на каждую цифру. Но провода в компьютере шумят: напряжение всё время немного прыгает из-за тепла и соседних проводов. Отличить «есть ток» от «нет тока» легко даже при шуме, а отличить ступеньку 6 от ступеньки 7 намного сложнее. Поэтому два состояния надёжнее, и все современные компьютеры двоичные.

Игра 1 · 15 мин
Теория 2 · 40 мин

Как считать в двоичном коде

В обычных числах каждая позиция «весит» в 10 раз больше соседней: единицы, десятки, сотни. В двоичном коде каждая позиция весит в 2 раза больше. Справа налево: 1, 2, 4, 8, 16, 32, 64, 128.

Чтобы узнать число, складываем веса там, где стоит 1. Например, 1101 это 8 + 4 + 1 = 13.

Обратно тоже просто. Чтобы записать 13, берём самый большой вес, который влезает (8), остаётся 5. Влезает 4, остаётся 1. Влезает 1, остаётся 0. Включаем биты 8, 4 и 1: получается 1101.

Пульт байта

Восемь битов вместе. Включай и выключай их и смотри, как меняется число.

1286432168421

= 0 · HEX 00

Бит Байт Теперь мем понятен? «10» в двоичном коде это 2. Значит, типов людей всего два.
Нибл научилась считать на пальцах в двоичном коде
Нибл считает на десяти пальцах-лампочках, на 1024 всё сгорает
До 1023 всё шло отлично. На 1024 пальцы закончились
Глубже: перевод делением на 2

Есть второй способ перевести число в двоичный код. Делим число на 2 и записываем остаток, пока не получится 0. Потом читаем остатки снизу вверх.

13 : 2 = 6, остаток 1
6 : 2 = 3, остаток 0
3 : 2 = 1, остаток 1
1 : 2 = 0, остаток 1
Снизу вверх: 1101

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

Игра 2 · 15 мин
Теория 3 · 30 мин

Байты, буквы и гигабайты

Восемь битов вместе называются байт. Байтом можно записать 256 разных чисел: от 0 (00000000) до 255 (11111111).

Буквы компьютер тоже хранит числами. Есть таблица, где у каждой буквы свой номер. Например, латинская A это 65, то есть 01000001. Когда ты печатаешь сообщение, на самом деле отправляются числа.

Единицы измерения

8 бит = 1 байт
1024 байта = 1 килобайт (КБ)
1024 КБ = 1 мегабайт (МБ)
1024 МБ = 1 гигабайт (ГБ)
1024 ГБ = 1 терабайт (ТБ)

Почему 1024, а не 1000? Потому что 1024 это 2 в десятой степени, круглое число для компьютера.

Тариф 100 Мбит/с, а качается 12 МБ/с
Дедушка Мега не понимает, почему 100 превратилось в 12, Нибл показывает: раздели на 8
Провайдер не обманул. Просто в байте 8 бит
Глубже: почему флешка на 64 ГБ показывает 59

Производители считают гигабайт как 1 000 000 000 байт, а Windows как 1024 × 1024 × 1024 = 1 073 741 824 байта. Получается, что «64 ГБ» производителя это 64 000 000 000 : 1 073 741 824 ≈ 59,6 ГБ по счёту Windows. Никто не обманул, просто считают по-разному.

Шестнадцатеричный код (HEX)

Длинные ряды нулей и единиц читать неудобно. Поэтому программисты делят байт на две половинки по 4 бита и каждую записывают одним знаком. Четыре бита дают 16 вариантов, и цифр не хватает, поэтому после 9 идут буквы: A = 10, B = 11, C = 12, D = 13, E = 14, F = 15.

Например, 1111 0000 это F0, а 0010 1010 это 2A. Посмотри на «Пульт байта» выше: там тоже есть HEX.

Бит Байт HEX ещё встретится в месяце 4. Цвета на сайтах записывают именно так: #FF0000 это красный.
Босс урока · 15 мин
Дома · около 60 мин

Повтори и сделай ДЗ

Коротко

  • Бит хранит 0 или 1, как выключатель.
  • Каждый новый бит удваивает число вариантов.
  • Веса битов справа налево: 1, 2, 4, 8, 16, 32, 64, 128.
  • 8 бит = 1 байт = 256 вариантов.
  • HEX записывает каждые 4 бита одним знаком от 0 до F.

Сыграй ещё раз в игры выше: задания каждый раз новые. Потом заполни домашнее задание. Делай его сам, без подсказок: так ты заработаешь XP честно.