Двоичная система исчисления что это такое
Двоичная система счисления
В двоичной системе счисления используются всего две цифры 0 и 1. Другими словами, десятичная двойка является основанием двоичной системы счисления, аналогично тому, как в десятичной системе основанием является число десять.
Чтобы научиться считать в двоичной системе счисления, рассмотрим, как формируются числа в привычной для нас десятичной.
В десятичной системе счисления мы располагаем десятью знаками-цифрами: от 0 до 9. Когда счет достигает числа 9, вводится новый более старший разряд – десятки. При этом разряд единиц обнуляется и счет в этом разряде опять начинается с нуля. После числа 19 разряд десятков увеличивается на 1, а разряд единиц снова обнуляется. Получается число 20. Когда десятки дойдут до 9, впереди них появится третий разряд – сотни.
Формирование каждого последующего числа в двоичной системе счисления аналогично тому, как это происходит в десятичной за исключением того, что используются всего-лишь две цифры: 0 и 1. Как только разряд достигает своего предела, то есть единицы, появляется новый разряд, а старый обнуляется.
Итак, число три в двоичной системе записывается как 11, в десятичной – как 3. Количественно это одинаковые числа. Это одно и то же число, выраженное в различных системах счисления. Если есть вероятность неоднозначной трактовки числа, к нему приписывается нижний индекс в десятичной системе счисления, обозначающий, в какой системе счисления выражено данное число:
Индекс для числа, выраженного в десятичной системе, обычно опускается.
Перевод чисел из двоичной системы счисления в десятичную
В двоичной системе счисления с увеличением значения количество разрядов растет очень быстро. Как определить, что значит двоичное число 10001001? Нам сложно понять, сколько это, мы привыкли мыслить в десятичной системе. Поэтому часто используется перевод двоичных чисел в десятичные.
В десятичной системе счисления любое число можно представить в форме суммы единиц, десяток, сотен и так далее. Например:
5476 = 5000 + 400 + 70 + 6
Можно пойти еще дальше и разложить число, используя основание системы счисления, возводимое в показатель степени, равный разряду цифры, уменьшенному на единицу:
5476 = 5 * 10 3 + 4 * 10 2 + 7 * 10 1 + 6 * 10 0
Точно также производится разложение числа в двоичной системы счисления, кроме того, что основанием выступает двойка, а не десятка. Здесь до знака равенства число представлено в двоичной системе счисления, после «равно» запись идет в десятичной:
10001001 = 1 * 2 7 + 0 * 2 6 + 0 * 2 5 + 0 * 2 4 + 1 * 2 3 + 0 * 2 2 + 0 * 2 1 + 1 * 2 0
Результат вычислений дает десятичное число, количественно равное двоичному 10001001:
1*2 7 + 0*2 6 + 0*2 5 + 0*2 4 + 1*2 3 + 0*2 2 + 0*2 1 + 1*2 0 =
= 128 + 0 + 0 + 0 + 8 + 0 + 0 + 1 = 137
То есть число 10001001 по основанию 2 равно числу 137 по основанию 10:
Почему двоичная система счисления так распространена?
Дело в том, что двоичная система счисления – это язык современной вычислительной техники.
Когда любые данные сохраняются на компьютере, они кодируются числами. С числами же компьютер выполняет операции, изменяя эти данные.
Допустим, у нас есть десятичное число 14, которое требуется сохранить в компьютерной памяти. Мы задействуем участок памяти, в данном случае состоящий как минимум из двух элементов, отводимых под разряды. В одном из разрядов мы сохраняем десятичное число 1, в другом – число 4.
Элемент памяти – это физическое устройство. Если проектировать его для хранения десятичной цифры, потребуется создать такое устройство, которое может находиться в десяти разных физических состояниях и способно переключаться между ними. Каждое из этих состояний будет соответствовать числу от 0 до 9.
Создать такой элемент памяти возможно, однако сложнее и дороже, чем создать элемент, способный находиться только в двух состояниях. Одно состояние сопоставить нулю, второе – единице. Кроме того, подобное хранение данных является более надежным.
Поэтому оказалось проще перевести число 14 в двоичную систему счисления, получив число 1110, и именно его сохранить в памяти. И пусть даже при этом будут задействованы не два, а четыре разряда, то есть четыре элементарных единиц памяти.
Перевод десятичного числа в двоичное
Одним из алгоритмов перевода десятичного числа в двоичное является деление нацело на два с последующим «сбором» двоичного числа из остатков. Переведем таким образом число 14 в двоичное представление.
Собирать остатки надо с конца, то есть с последнего деления. Получаем 1110.
Выполним то же самое для числа 77:
Собираем остатки вместе, начиная с конца: 1001101.
Проверим, выполнив обратный перевод:
1001101 = 1*2 6 + 0*2 5 + 0*2 4 + 1*2 3 + 1*2 2 + 0*2 1 + 1*2 0 = 64 + 0 + 0 + 8 + 4 + 0 + 1 = 77
Системы счисления. Позиционная система счисления двоичная.
Впервые позиционная система счисления возникла в древнем Вавилоне. В Индии система работает в виде
позиционной десятичной нумерации с использованием нуля, у индусов данную систему чисел
позаимствовала арабская нация, у них, в свою очередь, взяли европейцы. В Европе эту систему стали
Позиционная система — значение всех цифр зависит от позиции (разряда) данной цифры в числе.
Примеры, стандартная 10-я система счисления – это позиционная система. Допустим дано число 453.
Цифра 4 обозначает сотни и соответствует числу 400, 5 — кол-во десятков и соответствует значению 50,
а 3 — единицы и значению 3. Легко заметить, что с увеличением разряда увеличивается значение.
Таким образом, заданное число запишем в виде суммы 400+50+3=453.
Двоичная система счисления.
Во всех разрядах возможна лишь одна цифра — или нуль, или единица.
С помощью двоичной системы счисления возможно закодировать всякое натуральное число, представив
это число в виде последовательности нулей и единиц.
Пример: 10112 = 1*2 3 + 0*2*2+1*2 1 +1*2 0 =1*8 + 1*2+1=1110
Двоичную систему счисления, как и десятичную систему счисления, зачастую используют в вычислительной
технике. Текст и числа компьютер хранит в своей памяти в двоичном коде и программным способом преобразует
в изображение на экране.
Сложение, вычитание и умножение двоичных чисел.
Таблица сложения в двоичной системе счисления:
Таблица вычитания в двоичной системе счисления:
Таблица умножения в двоичной системе счисления:
Преобразование чисел в двоичной системе счисления.
Для преобразования из двоичной системы в десятичную пользуются следующей таблицей степеней
Начиная с цифры один каждая цифра умножается на 2. Точка, стоящая после 1, называют двоичной точкой.
Преобразование двоичных чисел в десятичные.
Пусть, есть двоичное число 1100012. Для перевода в десятичное записываем его в виде суммы по
разрядам следующим образом:
1 * 2 5 + 1 * 2 4 + 0 * 2 3 + 0 * 2 2 + 0 * 2 1 + 1 * 2 0 = 49
Немного по другому:
1 * 32 + 1 * 16 + 0 * 8 + 0 * 4 + 0 * 2 + 1 * 1 = 49
Также хорошо записывать расчет как таблицу:
Двигаемся справа налево. Под всеми двоичными единицами записываем её эквивалент строчкой ниже.
Далее складываем десятичные числа, которые мы получили. Т.о., двоичное число 1100012 = десятичному 4910.
Преобразование дробных двоичных чисел в десятичные.
Задание: перевести число 1011010, 1012 в десятичную систему.
Записываем заданное число в таком виде:
Другой вариант записи:
Либо в виде таблицы:
Преобразование десятичных чисел в двоичные.
Пусть, необходимо перевести число 19 в двоичное. Можем сдеать это таким образом:
То есть, каждое частное делится на 2 и записывается остаток в конец двоичной записи. Деление
продолжается до того момента, когда в частном не будет нуля. Итог пишем справа налево. Т.е. нижняя
цифра (1) будет крайней левой и так далее. Итак, у нас получилось число 19 в двоичной записи: 10011.
Преобразование дробных десятичных чисел в двоичные.
Когда в заданном числе присутствует целая часть, то ее преобразуют отдельно от дробной. Перевод
дробного числа из десятичной системы счисления в двоичную происходит следующим образом:
разряда числа в двоичной системе счисления;
достигнута требуемая точность вычислений. В противном случае вычисления продолжаются над
дробной частью произведения.
Пример: Нужно перевести дробное десятичное число 206,116 в дробное двоичное число.
Переведя целую часть, получаем 20610=110011102. Дробная часть 0,116 умножается на основание 2,
заносим целые части произведения в разряды после запятой:
Как объяснять двоичную систему счисления
Кто-то только входит в IT-мир, кто-то объясняет информатику своему чаду.
Довольно быстро вы обнаружите, что не так-то просто объяснить, как работает двоичный счёт.
Это вам очевидно, что после 11 идёт 100, а новичку это ещё долго может быть непонятно.
Так вот, чтобы увеличить скорость понимания, мы решили сделать дидактический материал.
Проблема
Важно отметить, что даже распиаренный курс Гарвардского университета по компьютерным наукам «CS50» не помогает.
Парень из американского университета просто заявляет, что «нуль — это нуль», «один — это один», а потом идёт 10, а потом 11. Понятно? Думаю, нет. Вот спросите кого-то, кто не программист, а каким будет следующее число — высока вероятность, что он не сможет ответить. Слишком быстро проскочили идею о переносе разряда.
То же самое касается школьных методов перевода: во-первых, методы эти академически сухи, во-вторых, не интуитивны — например, не очевидно, почему после каскадного деления на 2 нужно ставить биты задом наперёд.
А если непонятно, то и не интересно. А если нет интереса, то и запоминается с трудом.
Мы это всё учли, и решили сделать интересное и постепенное объяснение.
Что мы предлагаем
Сначала нужно объяснить, как вообще работает обычная десятичная система счисления — и про конечный «алфавит» цифр, и про идею переноса разряда. Так развивается понимание принципа «системы счисления».
Только потом можно переходить к идее двоичной системы — и вот обучаемый уже медленно, но довольно уверенно говорит «1, 10, 11, 100».
Далее, мы решили попробовать совсем не школьный метод — объяснение двоичного счёта на пальцах: это когда загнутый палец это 0, а разогнутый это 1.
Я проверял это на подростках: показываешь им: «это 1, это 2, это 3 — теперь покажите мне 4». И весь класс сосредоточенно, медленно показывает средние пальцы. Отличницы в эсхатологическом восторге, задние парты тыкают друг другу в лицо и кричат «на тебе четвёрку!».
Провокативно? Да. Запоминается? 100%.
Теперь, когда тема стала «своей», можно переходить к теме перевода чисел из одной системы счисления в другую — начать лучше с классического школьного сухого перевода (если честно, то больше чтобы постращать).
А уже потом с помощью анимации объяснить идею перевода прямо на пальцах, и потом опять же на пальцах пересчитать число 132 в средние пальцы уже на обеих руках.
На десерт показываем, где двоичная и 16-ричная системы применяется в реальной жизни.
Двоичная система — это например QR-коды вокруг нас.
А 16-ричная система это в основном коды цветов в CSS и хеши разных стилей, от MD5 до UUID.
Итак, вот весь пакет видео-уроков (они бесплатные, в Ютубе):
Двоичная система счисления
Системы счисления в культуре | |
---|---|
Индо-арабская система счисления | |
Арабская Индийские Тамильская Бирманская | Кхмерская Лаоская Монгольская Тайская |
Восточноазиатские системы счисления | |
Китайская Японская Сучжоу Корейская | Вьетнамская Счётные палочки |
Алфавитные системы счисления | |
Абджадия Армянская Ариабхата Кириллическая | Греческая Эфиопская Еврейская Катапаяди |
Другие системы | |
Вавилонская Египетская Этрусская Римская | Аттическая Кипу Майская |
Позиционные системы счисления | |
Десятичная система счисления (10) | |
2, 3, 4, 5, 6, 7, 8, 9, 12, 16, 20, 60 | |
Нега-позиционная система счисления | |
Симметричная система счисления | |
Смешанные системы счисления | |
Фибоначчиева система счисления | |
Непозиционные системы счисления | |
Единичная (унарная) система счисления | |
Список систем счисления |
Двоичная система счисления — позиционная система счисления с основанием 2.
Содержание
Двоичные цифры
В этой системе счисления числа записываются с помощью двух символов (0 и 1).
История
Запись двоичных чисел
Двоичная система счисления является комбинацией двоичной системы кодирования и показательной весовой функции с основанием равным 2. Положительные целые числа (без знака) записываются в виде:
Количество записываемых кодов (чисел) зависит от основания системы кодирования — c, определяется в комбинаторике и равно числу размещений с повторениями:
Количество записываемых кодов (чисел) от основания показательной функции — b не зависит.
Основание показательной функции — b определяет диапазон представляемых числами x2,b величин и разреженность представляемых чисел на числовой оси.
Целые числа являются частными суммами степенного ряда:
Целые числа со знаком записываются в виде:
Дробные числа записываются в виде:
Следует отметить, что число может быть записано в двоичном коде, а система счисления при этом может быть не двоичной, а с другим основанием. Пример: двоично-десятичное кодирование, в котором десятичные цифры записываются в двоичном виде, а система счисления — десятичная.
Сложение, вычитание и умножение двоичных чисел
+ | 0 | 1 |
---|---|---|
0 | 0 | 1 |
1 | 1 | 10 |
Пример сложения «столбиком» (14 + 5 = 19):
1 | ↖ | |||
---|---|---|---|---|
+ | 1 | 1 | 1 | 0 |
1 | 0 | 1 | ||
1 | 0 | 0 | 1 | 1 |
— | 0 | 1 |
---|---|---|
0 | 0 | 1 |
1 | (заём из старшего разряда) 1 | 0 |
× | 0 | 1 |
---|---|---|
0 | 0 | 0 |
1 | 0 | 1 |
Пример умножения «столбиком» (14 × 5 = 70):
× | 1 | 1 | 1 | 0 | ||
1 | 0 | 1 | ||||
+ | 1 | 1 | 1 | 0 | ||
1 | 1 | 1 | 0 | |||
1 | 0 | 0 | 0 | 1 | 1 | 0 |
Преобразование чисел
Для преобразования из двоичной системы в десятичную используют следующую таблицу степеней основания 2:
512 | 256 | 128 | 64 | 32 | 16 | 8 | 4 | 2 | 1 |
Начиная с цифры 1 все цифры умножаются на два. Точка, которая стоит после 1, называется двоичной точкой.
Преобразование двоичных чисел в десятичные
Допустим, вам дано двоичное число 110001. Для перевода в десятичное просто запишите его справа налево как сумму по разрядам следующим образом:
.
Можно записать это в виде таблицы следующим образом:
512 | 256 | 128 | 64 | 32 | 16 | 8 | 4 | 2 | 1 |
1 | 1 | 0 | 0 | 0 | 1 | ||||
+32 | +16 | +1 |
Точно так же, начиная с двоичной точки, двигайтесь справа налево. Под каждой двоичной единицей напишите её эквивалент в строчке ниже. Сложите получившиеся десятичные числа.
Таким образом, двоичное число 110001 равнозначно десятичному 49.
Преобразование методом Горнера
Для того, чтобы преобразовывать числа из двоичной в десятичную систему данным методом, надо суммировать цифры слева направо, умножая ранее полученный результат на основу системы (в данном случае 2). Например, двоичное число 1011011 переводится в десятичную систему так: 0*2+1=1 >> 1*2+0=2 >> 2*2+1=5 >> 5*2+1=11 >> 11*2+0=22 >> 22*2+1=45 >> 45*2+1=91 То есть в десятичной системе это число будет записано как 91. Или число 101111 переводится в десятичную систему так: 0*2+1=1 >> 1*2+0=2 >> 2*2+1=5 >> 5*2+1=11 >> 11*2+1=23 >> 23*2+1=47 То есть в десятичной системе это число будет записано как 47. Перевод дробных чисел методом Горнера 1) 0,11012=0,X10 (рассматриваем цифры в обратном порядке)
1:2=0,5
0,5+0=0,5
0,5:2=0,25
0,25+1=1,25
1,25:2=0,625
0,625+1=1,625
1,625:2=0,8125
Ответ: 0,11012= 0,812510
2) 0,3568=0,X10 (рассматриваем цифры в обратном порядке)
6:8=0,75
0,75+5=5,75
5,75:8=0,71875
0,71875+3=3,71875
3,71875:8=0,46484375
Ответ: 0,3568=0,4648437510
3) 0,A6E16=0,X10 (рассматриваем цифры в обратном порядке)
14:16=0,875
0,875+6=6,875
6,875:16=0,4296875
0,4296875+10=10,4296875
10,4296875:16=0,65185546875
Ответ: 0,A6E16=0,6518554687510
Преобразование десятичных чисел в двоичные
Допустим, нам нужно перевести число 19 в двоичное. Вы можете воспользоваться следующей процедурой :
Итак, мы делим каждое частное на 2 и записываем остаток в конец двоичной записи. Продолжаем деление до тех пор, пока в частном не будет 0. Результат записываем справа налево. То есть нижнее число будет самым левым и.т.д. В результате получаем число 19 в двоичной записи: 10011.
Преобразование дробных двоичных чисел в десятичные
Нужно перевести число 1011010,101 в десятичную систему. Запишем это число следующим образом:
64 | 32 | 16 | 8 | 4 | 2 | 1 | 0.5 | 0.25 | 0.125 |
1 | 0 | 1 | 1 | 0 | 1 | 0. | .1 | 0 | 1 |
+64 | +16 | +8 | +2 | +0.5 | +0.125 |
Преобразование дробных десятичных чисел в двоичные
Перевод дробного числа из десятичной системы счисления в двоичную осуществляется по следующему алгоритму:
Пример: Требуется перевести дробное десятичное число 206,116 в дробное двоичное число.
Перевод целой части дает 20610=110011102 по ранее описанным алгоритмам; дробную часть умножаем на основание 2, занося целые части произведения в разряды после запятой искомого дробного двоичного числа:
0,116 • 2 = 0,232
0,232 • 2 = 0,464
0,464 • 2 = 0,928
0,928 • 2 = 1,856
0,856 • 2 = 1,712
0,712 • 2 = 1,424
0,424 • 2 = 0,848
0,848 • 2 = 1,696
0,696 • 2 = 1,392
0,392 • 2 = 0,784
и т. д.
Получим: 206,11610=11001110,00011101102
Применения
В цифровых устройствах
Двоичная система используется в цифровых устройствах, поскольку является наиболее простой и соответствует требованиям:
В цифровой электронике одному двоичному разряду в двоичной системе счисления соответствует (очевидно) один двоичный разряд двоичного регистра, то есть двоичный триггер с двумя состояниями (0,1).
В английской системе мер
При указании линейных размеров в дюймах по традиции используют двоичные дроби, а не десятичные, например: 5¾″, 7 15 / 16″, 3 11 / 32″ и т. д.
Двоичная система счисления
Двоичная система счисления — это позиционная система счисления с целочисленным основанием 2. В этой системе счисления числа записываются с помощью двух символов (в роли которых обычно выступают цифры 0 и 1).
Двоичная система счисления — это позиционная система счисления с целочисленным основанием 2. В этой системе счисления числа записываются с помощью двух символов (в роли которых обычно выступают цифры 0 и 1).
Содержание
История
Индийский математик Пингала ( 200 год до н. э. ) разработал математические основы для описания поэзии с использованием первого известного применения двоичной системы счисления. [1] [2]
В 1605 году Френсис Бэкон описал систему, буквы алфавита которой могут быть сведены к последовательностям двоичных цифр, которые в свою очередь могут быть закодированы как едва заметные изменения шрифта в любых случайных текстах. Важным шагом в становлении общей теории двоичного кодирования является замечание о том, что указанный метод может быть использован применительно к любым объектам. [3] (См. Шифр Бэкона )
Таблицы умножения и сложения двоичных чисел
+ | 0 | 1 |
0 | 0 | 1 |
1 | 1 | 10 |
Преобразование чисел
Для преобразования из двоичной системы в десятичную используют следующую таблицу степеней основания 2:
512 | 256 | 128 | 64 | 32 | 16 | 8 | 4 | 2 | 1 |
Начиная с цифры 1 все цифры умножаются на два. Точка, которая стоит после 1 называется двоичной точкой.
Преобразование двоичных чисел в десятичные
Допустим, вам дано двоичное число 110001. Для перевода в десятичное просто запишите его справа налево как сумму по разрядам следующим образом:
.
Можно записать это в виде таблицы следующим образом:
512 | 256 | 128 | 64 | 32 | 16 | 8 | 4 | 2 | 1 |
1 | 1 | 0 | 0 | 0 | 1 | ||||
+32 | +16 | +1 |
Точно так же, начиная с двоичной точки, двигайтесь справа налево. Под каждой двоичной единицей напишите её эквивалент в строчке ниже. Сложите получившиеся десятичные числа.
Таким образом, двоичное число 110001 равнозначно десятичному 49.
Преобразование методом Горнера
Для того, что бы преобразовывать числа из двоичной в десятичную систему данным методом, надо суммировать цифры слева-направо, умножая ранее полученный результат на основу системы (в данном случае 2). Например, двоичное число 1011011 переводится в десятичную систему так: 0*2+1=1 >> 1*2+0=2 >> 2*2+1=5 >> 5*2+1=11 >> 11*2+0=22 >> 22*2+1=45 >> 45*2+1=91 То есть в десятичной системе это число будет записано как 91. Или число 101111 переводится в десятичную систему так: 0*2+1=1 >> 1*2+0=2 >> 2*2+1=5 >> 5*2+1=11 >> 11*2+1=23 >> 23*2+1=47 То есть в десятичной системе это число будет записано как 47.
Преобразование десятичных чисел к ближайшей степени двойки, не меньшей этого числа
Ниже приведена функция, возвращающая число, не меньшее аргумента, и являющееся степенью двух.
Преобразование десятичных чисел в двоичные
Допустим, нам нужно перевести число 19 в двоичное. Вы можете воспользоваться следующей процедурой :
Итак, мы делим каждое частное на 2 и записываем в остаток 1 или 0. Продолжать деление надо пока в делимом не будет 1. Ставим числа из остатка друг за другом, начиная с конца. В результате получаем число 19 в двоичной записи (начиная с конца): 10011.
Программная реализация перевода (Borland Delphi 7): Используется метод деления с остатком.
См. также Деление с остатком (деление по модулю)
Двоичные показательные позиционные системы счисления с основанием показательной функции не равной 2
Сравнение с другими системами счисления
Сравнение различных показательных систем счисления по одному параметру — удельное натуральнологарифмическое число представимых чисел приводится в статье « Число представимых чисел в позиционных системах счисления ».
Применения
В цифровых устройствах
В английской системе мер
При указании линейных размеров в дюймах по традиции используют двоичные дроби, а не десятичные, например: 5¾″, 7 15 / 16″, 3 11 / 32″ и т. д.