Что такое двоичная система счисления? Понимание того, как компьютеры используют основание 2
Технологии с объяснениями

Что такое двоичная система счисления? Понимание того, как компьютеры используют основание 2

Если вы не понимаете двоичных чисел, вот наглядное объяснение того, чем они отличаются от привычной нам десятичной системы счисления

Image Credit: jamesteohart/Shutterstock.

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

Давайте разберемся, что такое двоичная система. К концу вы узнаете, чем двоичная система отличается от привычной нам системы счисления, как работают двоичные числа, что означают “32-бит и “64-бит и почему все это имеет значение

Понимание основания 10: десятичная система счисления

Прежде чем мы рассмотрим двоичную систему счисления, необходимо рассмотреть систему счисления, которую использует современный мир. Десятичная система, или основание 10, – это система, в которой каждое возможное место в числе может быть одной из 10 цифр

Чтобы выразить однозначное число в десятичной системе, мы используем цифры от 0 до 9. Чтобы перейти к более высоким цифрам, мы добавляем еще одно место, доходя до 10, 100, 1 000 и далее. Например, при записи числа 1972 получается следующее:

1,00010010

Таким образом, число 1972 состоит из 1×1000, 9×100, 7×10 и 2×1. Поскольку вы использовали эту систему с детства, именно так вы воспринимаете числа

Двоичная система – это другой подход к числам— значение не меняется, но меняется способ его представления

Счет по основанию 2 с помощью двоичной системы счисления

Двоичная система счисления – это система счисления, в которой для каждого места используются только два числа: 0 и 1. Двоичная система также известна как “основание 2. В двоичной системе для представления числа, большего, чем 1, необходимо второе место

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

512, 256, 128, 64, 32, 16, 8, 4, 2, 1

Другими словами, крайняя правая цифра в двоичном числе обозначает количество единиц. Цифра слева от нее обозначает количество двоек, следующая – количество четверок и так далее. Эти значения могут показаться знакомыми по вариантам хранения данных на телефонах и других носителях информации— именно отсюда они и берутся

Запись чисел в двоичном формате очень помогает в их понимании, поскольку для нас это не естественный способ счета. Для иллюстрации двоичного счета смотрите таблицу ниже:

Десятичное значение128643216

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

254

255

256

Посмотрите на таблицу и убедитесь, что вы поняли идею. Например, когда вы смотрите на десятичное число 25, вы должны быть в состоянии разложить его двоичный аналог (11001) на 16 + 8 + 1

Преобразование из двоичной системы в десятичную и наоборот

Чтобы узнать, чему равно двоичное число в десятичной системе счисления, вы можете построить график, подобный приведенному выше. Это медленно, но поможет вам проверить это надежно

Проведя некоторое время с двоичными числами, вы сможете вычислять небольшие значения в уме. Например, если вы видите число 1101001, вы сможете вычислить его, добавив 1, 8, 32 и 64, чтобы в итоге получить 105

Переход от десятичного числа к двоичному отличается. Для этого сначала нужно определить наибольшую двоичную единицу, которая помещается в ваше число. Например, если вы хотите узнать, что такое 73 в двоичном исчислении, то наибольшее двоичное значение, которое находится под этим значением – 64, поэтому на месте 64 стоит 1

Разница между 73 и 64 равна 9, то есть нам нужна 1 на месте 8 и 1 на месте 1, чтобы получить 9. Если сложить все это вместе, то двоичное значение для 73 будет 1001001

Когда вы привыкнете к местам, вы сможете выполнять эти вычисления быстрее. Однако все, что превышает 512 или 1024, становится трудно обрабатывать вручную

При работе с большими числами помогут такие инструменты, как калькулятор Programmer в Windows и macOS. Они позволяют ввести число в десятичной системе счисления и увидеть его эквивалент в двоичной системе (или наоборот). Также есть удобный режим переключения битов, который позволяет нажимать на отдельные двоичные цифры, чтобы увидеть, как значение обновляется в реальном времени

Биты, байты и более крупные единицы

Мы используем определенные термины для обозначения размера двоичных чисел. Один разряд – это бит ; как мы видели выше, один бит сам по себе может представлять только 1 или 0. Этого достаточно для хранения булевой переменной, где 0 – ложь, а 1 – истина

Восемь битов вместе известны как байт , это наименьший объем памяти, с которым может работать большинство компьютеров. В одном байте можно представить десятичные числа от 0 до 255, то есть 256 возможных значений

Чтобы считать более высокие двоичные числа в сфере современных размеров памяти, мы используем стандартные префиксы СИ, такие как кило-, мега- и гига-. Килобайт – это одна тысяча байт, мегабайт – один миллион байт, а гигабайт – один миллиард байт. Это продолжается в терабайтах и далее

Смущает то, что поскольку мы измеряем эти размеры в десятичной системе, а компьютеры – в двоичной, иногда можно обнаружить, что устройство имеет меньший объем памяти, чем заявлено. Наше объяснение несоответствия размеров жесткого диска подробно объясняет, почему это происходит

Как двоичная система используется на практике

Байты являются важной точкой отсчета. В ранних компьютерах один байт использовался для хранения одного текстового символа

Многие ранние видеоигры ограничивали определенные счетчики до 255 по той же причине. Например, аркадные игры типа Pac-Man выходили из строя после 255-го уровня, потому что в игре заканчивалась память. В оригинальной Zelda на NES максимальное количество рупий (игровой валюты) равно 255, потому что для хранения этого числа игра использует один байт. В условиях ограниченной памяти программисты не хотели выделять больше места под эти значения, поскольку необходимо учитывать множество других факторов

Вы можете применять эту концепцию везде, где вы слышите термин “бит В качестве еще одной иллюстрации, различия между 32-битной и 64-битной операционной системой сводятся к тому, какой объем памяти система может адресовать. 32-битная система поддерживает адресацию четырех байт, или 256^4, что означает, что она имеет примерно 4 миллиарда байт (4 ГБ) для возможных адресов памяти. Вот почему 32-битная ОС не может использовать более 4 ГБ оперативной памяти

Между тем, 64-битная ОС имеет 256^8, или примерно 18 квинтиллионов, возможных адресов. Это число за пределами человеческого понимания, что означает, что предел оперативной памяти намного превышает все, что мы используем сейчас

Аналогично, адреса IPv4 состоят из четырех байт (каждая цифра в адресе, например 192. 168. 100. 47, может иметь значение от 0 до 255). На сегодняшний день существует более четырех миллиардов подключенных к Интернету устройств, поэтому адреса IPv4 уже исчерпаны. Мир постепенно переходит на IPv6, который имеет такой же гораздо более высокий предел

Теперь, когда вы понимаете двоичную систему, вы можете понять, почему при ее обсуждении появляются одни и те же числа (силы 2). Каждый раз, когда вы назначаете количество битов для значения в вычислениях, у вас есть конечное число вариантов. Значения, которые были выбраны давным-давно из-за ограничений того времени, когда достижение максимума было немыслимо, сегодня создали ограничения для более мощных машин

Думайте как компьютер с помощью двоичных чисел

Хотя это введение в двоичную систему, вы можете изучить гораздо больше, если вам это интересно. Например, те, кто работает с двоичной системой, часто предпочитают шестнадцатеричную систему (основание 16) вместо десятичной, поскольку 2 и 16 имеют гораздо больше общих кратных, чем 2 и 10. А представление отрицательных чисел в двоичной системе связано с отдельными проблемами

Но все вышесказанное служит хорошим обзором того, как двоичная система счисления лежит в основе компьютеров и как это проявляется. Углубляясь, вы также можете узнать, как компьютеры выполняют код

Об авторе

Алексей Белоусов

Привет, меня зовут Филипп. Я фрилансер энтузиаст . В свободное время занимаюсь переводом статей и пишу о потребительских технологиях для широкого круга изданий , не переставая питать большую страсть ко всему мобильному =)

Комментировать

Оставить комментарий

ВАМ БУДЕТ ИНТЕРЕСНО