Двоичное число

редактировать
Число, выраженное посредством символов 0 и 1

В математике и цифровом электронике, a двоичное число - это число , выраженное в системе счисления с основанием 2 или двоичной системе счисления, в которой используются только два символа: обычно "0" (ноль ) и «1» (один ).

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

Содержание

  • 1 История
    • 1.1 Египет
    • 1.2 Китай
    • 1.3 Индия
    • 1.4 Другие культуры
    • 1.5 Западные предшественники Лейбница
    • 1.6 Лейбниц и И Цзин
    • 1.7 Более поздние разработки
  • 2 Представление
  • 3 Двоичный счетчик
    • 3.1 Десятичный счет
    • 3.2 Двоичный счет
  • 4 Дроби
  • 5 Двоичная арифметика
    • 5.1 Сложение
      • 5.1.1 Метод длительного переноса
      • 5.1. 2 Таблица сложения
    • 5.2 Вычитание
    • 5.3 Умножение
      • 5.3.1 Таблица умножения
    • 5.4 Деление
    • 5.5 Квадратный корень
  • 6 Побитовые операции
  • 7 Преобразование в другие системы счисления и обратно
    • 7.1 Десятичное
    • 7.2 Шестнадцатеричное
    • 7.3 Восьмеричное
  • 8 Представление действительных чисел
  • 9 См. Также
  • 10 Ссылки
  • 11 Дополнительная литература
  • 12 Внешние ссылки

История

Современная двоичная система счисления изучался в Европе в XVI и XVII веках Томасом Харриотом, Хуаном Карамуэлем и Лобковицем и Готфридом Лейбницем. Однако системы, связанные с двоичными числами, появились раньше во многих культурах, включая Древний Египет, Китай и Индию. Лейбниц был особенно вдохновлен китайцами И Цзин.

Египет

Арифметические значения, которые, как считается, были представлены частями Ока Гора

Писцы Древнего Египта использовали две разные системы для своих фракций, египетские дроби (не относящиеся к двоичной системе счисления) и дроби Гора-Глаза (так называемые, потому что многие историки математики считают, что символы, используемые в этой системе, могут быть расположены так, чтобы сформировать глаз из Гор, хотя это оспаривается). Фракции Horus-Eye - это двоичная система счисления для дробных количеств зерна, жидкостей или других измерений, в которой доля гекат выражается как сумма двоичных дробей 1/2, 1/4., 1/8, 1/16, 1/32 и 1/64. Ранние формы этой системы можно найти в документах Пятой династии Египта, примерно 2400 г. до н.э., а ее полностью развитая иероглифическая форма относится к Девятнадцатой династии Египта, примерно 1200 г. до н.э..

Метод, использованный для древнеегипетского умножения, также связан с двоичными числами. В этом методе умножения одного числа на второе выполняется последовательностью шагов, в которых используется (используется первое из двух чисел), либо к нему добавляется первое число; порядок, в котором эти шаги приводятся, задается двоичным представлением второго числа. Этот метод можно увидеть, например, в Математическом папирусе Райнда, который датируется примерно 1650 г. до н.э.

Китай

Даосский Багуа

I Цзин датируется IX веком до нашей эры в Китае. Двоичная нотация в И-Цзин используется для интерпретации его четвертичной техники разделения.

Она основана на двойственности инь и ян. Восемь триграмм (Багуа) и набор из 64 гексаграмм («шестьдесят» гуа), аналогичных трех- и шестибитным двоичным числам, использовались в крайней мере, еще в династии Чжоу в древнем Китае.

династии Сун ученый Шао Юн (1011–1077) преобразовал гексаграммы в формат, напоминающий современные двоичные числа, хотя он не намеревался использовать свое расположение математически. Просмотр младшего бита поверх одиночных гексаграмм в квадрате Шао Юна и чтение по строкам справа снизу вверх слева со сплошными линиями как 0 и пунктирными линиями как 1 или сверху слева направо вниз, сплошная линия - 1, а пунктирная - 0 гексаграммы можно интерпретировать как последовательность от 0 до 63.

Индия

Индийский ученый Пингала (c 2 век до н.э.) разработал бинарную систему для описания просодии. Он использовал двоичные числа в форме коротких и длинных слогов (последние равны по длине двум коротким слогам), что сделало их похожими на азбуку Морзе. Они были известны как слоги лагху (легкий) и гуру (тяжелый).

Индийская классика Пингалы под названием Чанда Чашастра (8.23) формирование матрицы, чтобы дать уникальное значение каждому метру. «Чандамшастра» буквально переводится на санскрите как наука о мет. Двоичные представления в системе Пингалы вправо, а не влево, как в двоичных числах современной позиционной записи . В системе Пингалы числа начинаются с цифры один, а не с нуля. Четыре коротких слога «0000» - это первый образец и соответствует значению один. Числовое значение получается путем прибавления единицы к сумме разрядов.

других культур

Жители Мангарева в Французской Полинезии До 1450 года использовалась гибридная двоичная - десятичная система. Щелевые барабаны с двоичными тонами используются для кодирования сообщений в Африке и Азии. Наборы бинарных комбинаций, Ифа Цзин, также использовались в африканских системах гадания, таких как Ифа, а также в средневековых западных геомантии.

западных предшественников Лейбница.

В конце 13 века Рамон Лулль стремился объяснить всю мудрость во всех отраслях человеческого знания того времени. Для этой цели он разработан общий метод, или Ars generalis, основанный на бинарных комбинациях ряда простых принципов или категорий, в связи с чем его считали предшественником компьютерной науки и искусственного интеллекта.

В 1605 году Фрэнсис Бэкон обсуждена система, посредством которой буквы алфавита могут быть сокращены до последовательностей двоичных цифр, которые могут быть закодированы как малые заметные вариации шрифта в любом произвольном тексте. Что важно для общей теории двоичного кодирования, он добавил, что этот метод может быть использован с любыми объектами вообще: «при условии, что эти объекты имеют только двукратное различие, например, колокола, трубы, огни и факелы, отчет мушкетов и» любых других подобных инструментов ". (См. шифр Бэкона.)

Джон Напье в 1617 году описал систему, которую он назвал арифметикой местоположения для выполнения двоичных вычислений с использованием Томас Харриот исследовал несколько позиционных систем счисления, включая двоичную, но не опубликованные результаты; возможно, первая публикация в Европе была сделана Хуаном Карамуэлем- и-Лобковицем в 1700 году.

Лейбниц и И Цзин

Готфрид Лейбниц

Лейбниц изучал двоичную нумерацию в 1679 году. Binaire (опубликованной в 1703 г.) году). Полное название статьи Лейбница переведено на английский как «Объяснение двоичной арифметики, в которой используются только символы 1 и 0, с некоторыми замечаниями о ее полезности и освещении древних китайских фигур Фу. В системе Лейбница используется 0 и 1, как в цифровой системе счисления. Пример значения двоичной системы счисления Лейбница выглядит следующим образом:

0 0 0 1 числовое 2
0 0 1 0 числовое значение 2
0 1 0 0 числовое значение 2
1 0 0 0 числовое значение 2

Лейбниц интерпретировал гексаграммы И Цзин как свидетельство двоичного исчисления. Как синофил, Лейбниц знал об И-Цзин, с увлечением отмечал, как его гексаграммы соответствуют двоичнымм от 0 до 111111, и пришел к выводу, что это сопоставление свидетельств о главных достижениях Китая в своем классе философском математикой он восхищался. Впервые Лейбниц познакомился с И Цзин благодаря контактам с иезуитом Иоахимом Буве, который посетил Китай в 1685 году в миссионер. Лейбниц рассматривает гексаграммы И-Цзин как представ универсальности его религиозных убеждений как христианина. чные числа занимали центральное место в теологии Лейбница. Он считал, что двоичные числа символизируют христианскую идею creatio ex nihilo или творения из ничего.

[Концепция, которую] нелегко язычникам, это творение ex nihilo через Всемогущая сила Бога. Теперь можно сказать, что в мире не может быть лучше и представать эту силу, чем происхождение чисел, как оно представлено здесь посредством простого и неприукрашенного представления «Единица и ноль или ничего».

— Письмо Лейбница к Герцог Брауншвейг прикрепил гексаграммы И Цзин

Поздние разработки

Джордж Буль

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

В 1937 году Клод Шеннон защитил магистерскую диссертацию в Массачусетском технологическом институте, в которой реализовывалась логическая алгебра и двоичная система. арифметика использование электронных реле и переключателей впервые в истории. Тезис Шеннона, озаглавленный Символьный анализ реле и коммутационных цепей, по существу основал практический дизайн цифровых цепей.

В ноябре 1937 года Джордж Стибиц, затем, команда в Bell Labs, завершил создание релейного компьютера, который он назвал «Модель K» (для «K itchen », где он его собрал), который вычислял с использованием двоичного сложения. Bell Labs одобрила полную исследовательскую программу в конце 1938 года под руководством Стибица. Их компьютер комплексных чисел, завершенный 8 января 1940 года, смог вычислить комплексные числа. Во время демонстрации на конференции Американского математического общества в Дартмутском колледже 11 сентября 1940 года Стибиц смог отправить удаленные команды калькулятора комплексных чисел по телефонным линиям с помощью телетайпа . Это была первая вычислительная машина, когда-либо использовавшаяся удаленно по телефонной линии. Среди участников конференции, которые были свидетелями демонстрации, были Джон фон Нейман, Джон Мочли и Норберт Винер, которые написали об этом в своих мемуарах.

Компьютер Z1, который был разработан и построен Конрадом Цузе между 1935 и 1938 годами, использовал логику и двоичные числа с плавающей запятой.

Представление

Любое число может быть представлено последовательностью битов (двоичных цифр), которые, в свою очередь, могут быть любым механизмом, способным находиться в двух взаимоисключающих состояниях. Любая из следующих символов может интерпретироваться как двоичное числовое значение 667:

1010011011
||||||
ynynnyynyy
A могут использовать светодиоды для выражения двоичных значений. В этих часах каждый столбец светодиодов показывает двоично-десятичную цифру традиционного шестидесятеричного времени.

Числовое значение, представленное в каждом случае, зависит от значения, присвоенного каждый символ. В заре компьютерных технологий для представления двоичных значений использовались переключатели, перфорированные отверстия и перфорированные бумажные ленты. В современном компьютере числовые значения могут быть представлены двумя напряжениями ; на магнитном диск можно использовать магнитную полярность. Состояние «положительное», «да » или «включено» не обязательно эквивалентно числовому значению единицы; это зависит от используемой архитектуры.

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

  • 100101 двоичный (явное указание формата)
  • 100101b (суффикс, обозначающий двоичный формат; также известный как соглашение Intel )
  • 100101B (суффикс, обозначающий двоичный)
  • bin 100101 (префикс, обозначающий двоичный формат)
  • 100101 2 (нижний индекс, обозначающий двоичное представление с основанием 2)
  • % 100101 (префикс, обозначающий двоичный формат; также известный как соглашение Motorola )
  • 0b100101 (префикс, указывающий двоичный формат, общий для языков программирования)
  • 6b100101 (префикс, указывающий количество битов в двоичном формате, общий в языков программирования)
  • # b100101 (префикс, обозначающий двоичный формат, распространенный на языках программирования Lisp)

При разговоре двоичных числах обычно читаются по цифре, чтобы отличить их от десятичных. Например, двоичное число 100 произносится как один ноль ноль, а не как сотня, чтобы сделать его двоичную при роду явным и в соответствии с правильностью. Называть эту цифру сотней (слово, которое представляет собой другое значение или сумму) двоичная цифра 100 представляет собой значение. В качестве альтернативы, двоичное число 100 может быть прочитано как «четыре» (правильное значение), но это не делает явным его двоичный характер.

Подсчет в двоичном формате

Десятичное. числоДвоичное. число
00
11
210
311
4100
5101
6110
7111
81000
91001
101010
111011
121100
131101
141110
151111

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

Десятичный счет

Десятичный счет использует десять символов от 0 до 9. Подсчет начинается с инкрементальной подстановки наименее значащей цифры (крайняя правая цифра), которую часто называют первой цифрой. Когда доступные символы для этой позиции исчерпаны, младшая значащая цифра сбрасывается на 0, следующая более значимая цифра (одна позиция слева) увеличивается (переполнение), и инкрементная замена младшей цифры возобновляется. Этот метод сброса и переполнения повторяется для каждой значимой цифры. Подсчет происходит следующим образом:

000, 001, 002,... 007, 008, 009, (крайняя правая цифра сбрасывается на ноль, а цифра слева от нее увеличивается)
010, 011, 012,...
...
090, 091, 092,... 097, 098, 099, (две крайние правые цифры сбрасываются на нули, а следующая цифра увеличивается)
100, 101, 102,...

Двоичный счет

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

Доступен только два символа 0 и 1. Таким образом, после того, как цифра показывает 1 в двоичном формате, приращение сбрасывает ее на 0, но также приращение следующей цифры слева:

0000,
000 1, (крайняя правая цифра начинается заново, а следующая цифра увеличивается)
0010, 0011, (две крайние правые цифры начинаются заново, а следующая цифра увеличивается)
0100, 0101, 0110, 0111, (три крайние правые цифры начинаются заново, и следующая цифра увеличивается)
1000, 1001, 1010, 1011, 1100, 1101, 1110, 1111...

В двоичной системе каждая цифра представляет собой возрастную степень 2, причем крайняя правая цифра представляет 2, следующая представляет 2, 2 и так далее. Значение двоичного числа - это сумма степеней двойки, представленная каждой цифрой «1». Например, двоичное число 100101 преобразуется в десятичную форму следующим образом:

100101 2 = [(1 ) × 2] + [(0 ) × 2 ] + [(0 ) × 2] + [(1 ) × 2] + [(0 ) × 2] + [(1 ) × 2]
100101 2 = [1 × 32] + [0 × 16] + [0 × 8] + [1 × 4] + [0 × 2] + [1 × 1]
100101 2 = 37 10

Дроби

Дроби в двоичной арифметике завершаются, только если 2 является единственным основным множителем в знаменателе . В результате 1/10 не имеет конечного двоичного представления (10 имеет простые множители 2 и 5 ). Это приводит к тому, что 10 × 0,1 не равно 1 в арифметике с плавающей запятой. Например, чтобы интерпретировать двоичное выражение для 1/3 = 0,010101..., это означает: 1/3 = 0 × 2 + 1 × 2 + 0 × 2 + 1 × 2 +... = 0,3125 +... Невозможно найти точное значение с помощью конечного числа обратных степеней двойки, нулей и двоичное представление 1/3 альтернативно навсегда.

ДробьДесятичная ДвоичнаяДробная аппроксимация
1/11 или 0,999...1 или 0,111...1/2 + 1/4 + 1/8...
1/20,5 или 0,4999...0, 1 или 0,0111...1/4 + 1/8 + 1/16...
1/30,333...0,010101...1/4 + 1/16 + 1/64...
1/40,25 или 0,24999...0,01 или 0,00111...1/8 + 1/16 + 1/32...
1/50,2 или 0,1999...0,00110011...1/8 + 1/16 + 1/128...
1/60,1666...0,0010101...1/8 + 1/32 + 1/128...
1/70,142857142857...0,001001...1/8 + 1/64 + 1/512...
1/80,125 или 0,124999...0,001 или 0,000111...1/16 + 1/32 + 1/64...
1/90,111...0,000111000111...1/16 + 1/32 + 1/64...
1/100,1 или 0,0999...0,000110011...1/16 + 1/32 + 1/256...
1/110,090909...0,00010111010001011101...1/16 + 1/64 + 1/128...
1/120,08333...0,00010101...1/16 + 1/64 + 1/256...
1/130,076923076923...0,000100111011000100111011...1/16 + 1/128 + 1/256...
1/140,0714285714285...0,0001001001...1/16 + 1/128 + 1/1024...
1/150,0666...0,00010001...1/16 + 1/256...
1/160,0625 или 0,0624999...0,0001 или 0,0000111...1/32 + 1/64 + 1/128...

Двоичная арифметика

Арифметика в двоичной системе очень похожа на арифметику в других системах счисления. Сложение, вычитание, умножение и деление могут выполняться над двоичными числами.

Сложение

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

Простейшая арифметическая операция в двоичный - это сложение. Сложить два однозначных двоичных числа относительно просто, используя форму переноса:

0 + 0 → 0
0 + 1 → 1
1 + 0 → 1
1 + 1 → 0, переносится 1 (так как 1 + 1 = 2 = 0 + (1 × 2))

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

5 + 5 → 0,переносится 1 (поскольку 5 + 5 = 10 = 0 + (1 × 10))
7 + 9 → 6, перенос 1 (поскольку 7 + 9 = 16 = 6 + (1 × 10))

Это называется переносом. Когда результат сложного значения значимости, процедура включает в себя, чтобы «перенести» избыточную том, разделенную на основе системы счисления (то есть 10/10), влево, добавив ее к следующему позиционированию значению. Это правильно, так как следующая позиция на коэффициент, равный основание системы счисления. В двоичном формате перенос работает таким же образом:

1 1 1 1 1 (переносимые цифры) 0 1 1 0 1 + 1 0 1 1 1 ------------- = 1 0 0 1 0 0 = 36

вместе В этом примере две цифры складываются: 01101 2 (13 10) и 10111 2 (23 10). В верхнем ряду показаны использованные биты переноса. Начиная с самого правого столбца, 1 + 1 = 10 2. 1 переносится влево, а 0 пишется внизу самого правого столбца. Добавляется второй столбец справа: 1 + 0 + 1 = 10 2 снова; переносится 1, а внизу пишется 0. Третий столбец: 1 + 1 + 1 = 11 2. На этот раз переносится 1, а в нижнем ряду написано 1. В результате получается окончательный ответ: 100100 2 (36 десятичных знаков).

Когда компьютеры должны сложить два числа, правило, которое: x xor y = (x + y) mod 2 для любых двух битов x и y позволяет очень а также быстрый расчет.

Метод длительного переноса

Упрощением для многих задач двоичного сложения. Этот метод обычно полезен в любом двоичном сложении, в котором одно из чисел содержит длинную цепочку. Он основан на простой простой системе, что в двоичной системе, когда дана «строка» цифр, состоящая полностью из nединиц (где: n- любая целая длина), добавляем 1 к существующей 1, за которой следует строка из nнулей. Эта концепция следует логически, как и в десятичной системе, где добавление 1 к строке из n9s приводит к появлению 1, за которую следует строка из n0s:

Двоичное десятичное число 1 1 1 1 1 аналогично 9 9 9 9 + 1 + 1 ——————————————————————— 1 0 0 0 0 0 1 0 0 0 0 0

Такие длинные строки довольно часто встречаются в двоичной системе. Отсюда можно сделать вывод, что большие двоичные числа могут быть добавлены за два простых шага без чрезмерных операций переноса. В следующем примере две цифры складываются вместе: 1 1 1 0 1 1 1 1 1 0 2 (958 10) и 1 0 1 0 1 1 0 0 1 1 2 (691 10), используя традиционный метод переноса слева и метод длинного переноса справа:

Традиционный метод переноса Методного переноса vs. 1 1 1 1 1 1 1 1 (переносимые цифры) 1 ← 1 ← переносить 1 до тех пор, пока она не будет на одну цифру после «строки» ниже 1 1 1 0 1 1 1 1 1 0 1 1 10 1 1 1 1 10 зачеркнуть «строку», + 1 0 1 0 1 1 0 0 1 1 + 1 0 10 1 1 0 0 11 и зачеркните цифру, которая была добавлена ​​к нему ——————————————————————————————————————————— = 1 1 0 0 1 1 1 0 0 0 1 1 1 0 0 1 1 1 0 0 0 1

В верхней строке показаны использованные биты переноса. Вместо стандартного переноса из одного столбца в следующем порядке может быть перенесена цифра «1» самого низкого порядка с «1» в соответствующем значении разряда им, а «1» может быть перенесена на одну цифру после серии. «Использованные» числа необходимо вычеркнуть, так как они уже добавлены. Другие длинные струны также могут быть отменены с использованием той же техники. Затем просто сложите оставшиеся цифры обычным образом. Таким образом, можно получить окончательный ответ: 1 1 0 0 1 1 1 0 0 0 1 2 (1649 10). В нашем простом примере с использованием большого числа операций переноса требуется восьми операций, тогда как метод длительного переноса требует только двух, что означает существенное сокращение усилий.

Таблица сложения

01
001
1110

Таблица двоичного сложения похожа, но не то же самое, что таблица истинности операции логической дизъюнкции ∨ {\ displaystyle \ lor}\ lor . Разница в том, что 1 {\ displaystyle 1}1 ∨ {\ displaystyle \ lor}\ lor 1 = 1 {\ displaystyle 1 = 1}1 = 1 , а 1 + 1 = 10 {\ displaystyle 1 + 1 = 10}1 + 1 = 10 .

Вычитание

Вычитание работает примерно так же:

0 - 0 → 0
0 - 1 → 1, заимствовать 1
1-0 → 1
1-1 → 0

Вычитание цифр «1» из цифр «0» дает цифру «1», а 1 должна быть вычитается из следующего столбца. Это называется заимствованием. Принцип такой же, как и приеноске. Когда результат вычитания меньше 0, наимень значение возможного значения, процедура в том, чтобы «заимствовать» дефицит, разделенный на основание системы счисления (то есть 10/10) слева, вычитая его из следующего позиционного положения.

* * * * (столбцы, отмеченные звездочкой, заимствованы из) 1 1 0 1 1 1 0 - 1 0 1 1 1 ---------------- = 1 0 1 0 1 1 1
* (столбцы, отмеченные звездочкой, заимствованы из) 1 0 1 1 1 1 1 - 1 0 1 0 1 1 -------------- - = 0 1 1 0 1 0 0

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

A - B = A + not B + 1

Умножение

Умножение в двоичном формате аналогично его десятичному аналогу. Два числа Aи Bможно умножить на частичные произведения: для каждой цифры в Bпроизведение цифры в Aравно вычисляется и записывается на новой строкой со сдвигом влево, так что его крайняя правая цифра совпадает с цифрой в B, которая использовалась. Сумма всех этих частичных произведений дает окончательный результат.

Форма в двоичном формате две цифры, есть только два результата каждого частичного умножения:

  • Если цифра в Bравна 0, частичное произведение также равно 0
  • Если цифра в Bравна 1, частное произведение равно A

. Например, двоичные числа 1011 и 1010 умножаются следующим образом:

1 0 1 1 (A) × 1 0 1 0 (B) ------ --- 0 0 0 0 ← Соответствует крайнему правому нулю в B+ 1 0 1 1 ← Соответствует следующей «единице» в B+ 0 0 0 0 + 1 0 1 1 - -------------- = 1 1 0 1 1 1 0

Двоичные числа также можно умножать на биты после двоичной точки :

1 0 1. 1 0 1 A(5,625 в десятичной системе) × 1 1 0. 0 1 B(6,25 в десятичной системе) -------------- ----- 1. 0 1 1 0 1 ← Соответствует единице в B+ 0 0. 0 0 0 0 ← Соответствует «нулю» в B+ 0 0 0. 0 0 0 + 1 0 1 1. 0 1 + 1 0 1 1 0. 1 --------------------------- = 1 0 0 0 1 1. 0 0 1 0 1 (35,15625 в десятичной системе)

См. Также алгоритм умножения Бута.

Таблица умножения

01
000
101

Двоичная таблица умножения такая же, как таблица истинности логическое соединение операция ∧ {\ displaystyle \ land}\ land .

Деление

Длинное деление в двоичном формате снова похоже на его десятичный аналог.

В приведенном ниже примере делитель равенство 101 2, или 5 в десятичном виде, а делимое равно 11011 2 или 27 в десятичном формате. Процедура такая же, как и десятичный делении в столбике ; здесь делитель 101 2 переходит в первые три цифры 110 2 делимого один раз, поэтому в верхней строке пишется «1». Этот результат умножается на делитель и вычитается из первых трех цифр делимого; следующая цифра («1») добавляется для использования новой трехзначной вставки:

1 ___________ 1 0 1) 1 1 0 1 1 - 1 0 1 ----- 0 0 1

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

1 0 1 ___________ 1 0 1) 1 1 0 1 1 - 1 0 1 - ---- 1 1 1 - 1 0 1 ----- 1 0

Таким образом, частное от 11011 2, деленное на 101 2 равно 101 2, как показано в верхней строке, а остаток, показанный в нижней строке, равен 10 2. В данном виде это соответствует тому факту, что 27 разделенное на 5 равно 5, а остаток равен 2.

Помимо деления в столбик, можно также считать, позволяющую сверхвычитать из частичного остаток на каждую итерации, что приводит к альтернативным методы, которые менее систематичны, но в результате более гибки.

Квадратный корень

Процесс извлечения двоичного квадратного корня цифра за цифрой такой же как для десятичного квадратного корня и объясняется здесь. Пример:

1 0 0 1 --------- √ 1010001 1 --------- 101 01 0 -------- 1001100 0 - - ----- 10001 10001 10001 ------- 0

Побитовые операции

Последовательность битов, хотя и не имеют прямого отношения к числовой интерпретации двоичных символов, могут управляться с использованием логических логических операторов. Когда строка двоичных символов обрабатывается таким образом, это называется побитовой операцией ; логические операторы AND, OR и XOR могут быть поставлены битами в двух двоичных числах, предоставленных в качестве входных. Логическая операция НЕ может быть над отдельными битами в одном двоичном числе, предоставленном в качестве входных. Иногда такие операции в должности арифметических сокращений, а также имеют другие вычислительные преимущества. Например, арифметический сдвиг влево двоичного числа является другим эквивалентом умножения на (положительную, целую) степень 2.

Преобразование в системы счисления и обратно

Десятичное

Преобразование ( 357) 10 в двоичное представление приводит к (101100101)

Преобразование из целого числа с основанием 10 в его основание-2 (двоичное) эквивалентно число , разделенное на два. Остаток - это младший бит . Частное снова делится на два; его остаток становится следующим младшим битом. Этот процесс повторяется до тех пор, пока не будет достигнуто частное. Последовательность остатков (включая конечное частное от единицы) образует двоичное значение, так как каждый остаток должен быть либо нулем, либо единицей при делении на два. Например, (357) 10 выражается как (101100101) 2.

Преобразование из base-2 в base-10 просто инвертирует предыдущий алгоритм. Биты двоичного числа используются один за другим, начиная со старшего (крайнего левого) бита. Начинается со значения 0, предыдущее значение удваивается, а затем добавляется следующий бит, чтобы получить следующее значение. Это можно организовать в виде таблицы с использованием столбцов. Например, для преобразования 10010101101 2 в десятичное:

Предыдущее значение× 2 +Следующий битСледующее значение
0× 2 +1= 1
1× 2 +0= 2
2× 2 +0= 4
4× 2 +1= 9
9× 2 +0= 18
18× 2 +1= 37
37× 2 +0= 74
74× 2 +1= 149
149× 2 +1= 299
299× 2 +0= 598
598× 2 +1= 1197

Результат: 1197 10. Первое предшествующее значение 0 - это просто начальное десятичное значение. Этот метод является применением схемы Хорнера.

Двоичный10010101101
Десятичный1 × 2 +0 × 2 +0 × 2 +1 × 2 +0 × 2 +1 × 2 +0 × 2 +1 × 2 +1 × 2 +0 × 2 +1 × 2 =1197

Дробные части числа преобразуются с аналогичным методы. Они снова основаны на эквивалентности сдвига с удвоением или уменьшением вдвое.

В дробном двоичном числе, например 0,11010110101 2, первая цифра равна 1 2 {\ displaystyle {\ begin {matrix} {\ frac {1} {2}} \ end {matrix}}}{\ begin {matrix} {\ frac {1} {2}} \ end {matrix}} , второй (1 2) 2 = 1 4 {\ displaystyle {\ begin {matrix} ({\ frac {1} {2}}) ^ { 2} = {\ frac {1} {4}} \ end {matrix}}}{\ begin {matrix} ({\ frac {1} {2}}) ^ {2} = {\ frac {1} {4}} \ end {matrix}} и т. Д. Таким образом, если на первом месте после десятичной дроби стоит 1, то число не менее 1 2 {\ displaystyle {\ begin {matrix} {\ frac {1} {2}} \ end {matrix}}}{\ begin {matrix} {\ frac {1} {2}} \ end {matrix}} , и наоборот. Удвоение этого числа равно как минимум 1. Это предлагает алгоритм: многократно удваивайте число, которое нужно преобразовать, записывайте, если результат равен как минимум 1, а затем выбросьте целую часть.

Например, (1 3) {\ displaystyle {\ begin {matrix} ({\ frac {1} {3}}) \ end {matrix}}}{\ begin {matrix} ({\ frac {1} {3}}) \ end {matrix}} 10в двоичном формате, это:

ПреобразованиеРезультат
1 3 {\ displaystyle {\ begin {matrix} {\ frac {1} {3}} \ end {matrix}}}{\ begin {matrix} {\ frac {1} { 3}} \ end {matrix}} 0.
1 3 × 2 = 2 3 < 1 {\displaystyle {\begin{matrix}{\frac {1}{3}}\times 2={\frac {2}{3}}<1\end{matrix}}}{\ begin {matrix} { \ frac {1} {3}} \ times 2 = {\ frac {2} {3}} <1 \ end {matrix}} 0,0
2 3 × 2 = 1 1 3 ≥ 1 {\ displaystyle {\ begin {matrix} {\ frac {2} {3}} \ times 2 = 1 {\ frac {1} {3}} \ geq 1 \ end {matrix}}}{\ begin {matrix} {\ frac {2}, предшествует двоичной системе счисления. {3}} \ times 2 = 1 {\ frac {1} {3}} \ geq 1 \ end {matrix}} 0,01
1 3 × 2 = 2 3 < 1 {\displaystyle {\begin{matrix}{\frac {1}{3}}\times 2={\frac {2}{3}}<1\end{matrix}}}{\ begin {matrix} { \ frac {1} {3}} \ times 2 = {\ frac {2} {3}} <1 \ end {matrix}} 0,010
2 3 × 2 = 1 1 3 ≥ 1 {\ displaystyle {\ begin {matrix} {\ frac {2} {3}} \ times 2 = 1 {\ frac {1} {3}} \ geq 1 \ end {matrix}}}{\ begin {matrix} {\ frac {2}, предшествует двоичной системе счисления. {3}} \ times 2 = 1 {\ frac {1} {3}} \ geq 1 \ end {matrix}} 0,0101

Таким образом, повторяющаяся десятичная дробь 0,3... эквивалентна повторяющейся двоичной дроби 0,01....

Или, например, 0,1 10 в двоичном формате:

ПреобразованиеРезультат
0,10.
0,1 × 2 = 0,2 < 10,0
0,2 × 2 = 0,4 ​​< 10,00
0,4 ​​× 2 = 0,8 < 10,000
0,8 × 2 = 1,6 ≥ 10,0001
0,6 × 2 = 1,2 ≥ 10,00011
0,2 × 2 = 0,4 ​​< 10,000110
0,4 ​​× 2 = 0,8 < 10,0001100
0,8 × 2 = 1,6 ≥ 10,00011001
0,6 × 2 = 1,2 ≥ 10,000110011
0,2 × 2 = 0,4 ​​< 10,0001100110

Это также повторяющаяся двоичная дробь 0,00011.... Может показаться неожиданным, что завершающие десятичные дроби могут иметь повторяющиеся расширения в двоичном формате. Именно по этой причине многие удивляются, обнаружив, что 0,1 +... + 0,1 (10 сложений) отличается от 1 в арифметике с плавающей запятой. Фактически, единственные двоичные дроби с завершающимися расширениями имеют форму целого числа, деленного на степень 2, а 1/10 - нет.

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

x = 1100,1 01110 ¯… x × 2 6 = 1100101110. 01110 ¯… x × 2 = 11001. 01110 ¯… x × (2 6 - 2) = 1100010101 x = 1100010101/111110 x = ( 789/62) 10 {\ displaystyle {\ begin {align} x = 1100.1 {\ overline {01110}} \ ldots \ \ x \ times 2 ^ {6} = 1100101110. {\ overline {01110}} \ ldots \\ x \ times 2 = 11001. {\ overline {01110}} \ ldots \\ x \ times (2 ^ {6} -2) = 1100010101 \\ x = 1100010101/111110 \\ x = (789/62) _ {10 } \ end {align}}}{\ begin {align} x = 1100.1 {\ overline {01110}} \ ldots \ \ x \ times 2 ^ {6} = 1100101110. {\ overline {01110}} \ ldots \\ x \ times 2 = 11001. {\ overline {01110}} \ ldots \\ x \ раз (2 ^ {6} -2) = 1100010101 \\ x = 1100010101/111110 \\ x = (789/62) _ {10 } \ end {align}}

Другой способ преобразования из двоичного в десятичном, часто более быстром для лица, знакомое с шестнадцатеричным, должно сделать это косвенно - сначала преобразовав (x {\ displaystyle x}x в двоичном формате) в (x {\ displaystyle x}x в шестнадцатеричном формате), а преобразование (x {\ displaystyle x}x в шестнадцатеричном формате) в (x {\ displaystyle x}x в десятичном).

Для очень больших чисел эти методы неэффективны, потому что они работают большое количество умножений или делений, когда один операнд очень большой. Простой алгоритм «разделяй и властвуй» более эффективен асимптотически: для двоичного числа оно делится на 10, где k выбирается так, чтобы частное примерно равнялось остатку; затем каждую из этих частей преобразуется в десятичное число, причем два являются конкатенированными. Учитывая, что его можно разделить на две части одинакового размера, каждая из которых преобразуется в двоичную, после чего первая преобразованная часть умножается на 10 и добавляется вторая преобразованная часть, где k - количество десятичных цифр во втором, наименее значимом фрагменте до преобразования.

шестнадцатеричный

0шестнадцатеричный=0десятичный =0окт0000
1шестнадцатеричный=1десятичный =1окт0001
2шестнадцатеричный=2десятичный =2окт0010
3шестнадцатеричный=3dec =3oct0011
4hex=4dec =4oct0100
5hex=5dec =5oct0101
6hex=6dec =6oct0110
7hex=7dec =7oct0111
8hex=8dec =10oct1000
9hex=9dec =11oct1001
Ahex=10dec =12oct1010
Bhex=11dec =13oct1011
Chex=12dec =14oct1100
Dhex=13dec =15oct1101
Ehex=14dec =16oct1110
Fhex=15dec =17oct1111

Двоичное число может быть легче преобразовано в шестнадцатеричное и обратно. Это связано с тем, что основание системы счисления шестнадцатеричной системы (16) является степенью основания системы счисления двоичной системы (2). В частности, 16 = 2, для представления одной шестнадцатеричной цифры четырех двоичных разряда, как показано в соседней таблице.

Чтобы преобразовать шестнадцатеричное число в его двоичный эквивалент, подставьте соответствующие цифры:

3A16= 0011 1010 2
E716= 1110 0111 2

Чтобы преобразовать шестнадцатеричное число в его просто шестнадцатеричный эквивалент, разделите его на группу по четыре бита. Если количество бит не кратно четырем, просто вставьте дополнительные биты 0 слева (это называется заполнением ). Например:

1010010 2 = 0101 0010 сгруппировано с заполнением = 52 16
11011101 2 = 1101 1101 сгруппировано = DD 16

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

C0E7 16 = (12 × 16) + (0 × 16) + (14 × 16) + (7 × 16) = (12 × 4096) + (0 × 256) + (14 × 16) + (7 × 1) = 49,383 10

Восьмеричный

Двоичный формат также легко конвертируется в восьмеричная система счисления, как в восьмеричной системе счисления используется основание системы счисления 8, которое представляет собой степень двойки (а именно, 2, поэтому для представления восьмеричной цифры требуется три двоичных цифры). Между восьмеричным и двоичным числами такое же, как и для первых восьми цифр шестнадцатеричного Соответствие в таблице выше. Двоичный 000 эквивалент восьмеричной цифре 0, двоичный 111 эквивалент восьмеричной цифре 7 и так далее.

OctalBinary
0000
1001
2010
3011
4100
5101
6110
7111

Преобразование восьмеричного в двоичный выполняется так же, как и для шестнадцатеричного :

658= 110101 2
178= 001111 2

И от двоичного к восьмеричному:

101100 2 = 101100 2 сгруппировано = 54 8
10011 2 = 010 011 2 сгруппировано с заполнением = 23 8

И от восьмеричного к десятичному:

658= (6 × 8) + (5 × 8) = (6 × 8) + (5 × 1) = 53 10
127 8 = (1 × 8) + (2 × 8) + (7 × 8) = (1 × 64) + (2 × 8) + (7 × 1) = 87 10

Представление действующих чисел

Нецелые числа могут быть представлены с помощью отрицательных степеней, которые отсчитываются от других цифр - с помощью точки (в десятичной системе именуемой десятичной точкой ). Например, двоичное число 11.01 2 означает:

1× 2(1 × 2 = 2)плюс
1× 2(1 × 1 = 1)плюс
0× 2(0 × ⁄ 2= 0)плюс
1× 2(1 × ⁄ 4= 0,25 )

Всего 3, 25 десятичного числа.

Все двоичные рациональные числа p 2 a {\ displaystyle {\ frac {} {2 ^ {a}}}}{\ frac {p} {2 ^ {a}}} имеют завершающее двоичное число - двойное представление конечное число после счисления.10 = 1 2 11 2 = 0,01010101 01 ¯… 2 {\ displaystyle {\ frac {1_ {10}} {3_ {10}}} = {\ frac { 1_ {2}} {11_ {2}}} = 0,01010101 {\ overline {01}} \ ldots \, _ {2}}{\ displaystyle {\ frac {1_ {10}} {3_ {10}}} = {\ frac {1_ {2}} {11_ {2}} } = 0,01010101 {\ overline {01}} \ ldots \, _ {2}}

12 10 17 10 = 1100 2 10001 2 = 0,1011010010110100 10110100 ¯… 2 {\ displaystyle {\ frac {12_ {10) }} {17_ {10}}} = {\ frac {1100_ {2}} {10001_ {2}}} = 0.1011010010110100 {\ overline {10110100} } \ ldots \, _ {2}}{\ displaystyle {\ frac {12_ {10}} {17_ {10}}} = {\ frac {1100_ {2}} {10001_ {2}}} = 0.1011010010110100 {\ overline {10110100}} \ ldots \, _ {2}}

Явление, что двоичный репр Представление любого рационального числа либо завершающееся, либо повторяющееся также встречается в других основанных на системе счисления системах счисления. См., Например, объяснение в decimal. Еще одно сходство заключается в существовании альтернативных представлений для любого завершающего представления, основанных на том факте, что 0,111111... является суммой геометрического ряда 2 + 2 + 2 +... который равен 1.

Двоичные числа, которые не заканчиваются и не повторяются, соответствуют иррациональные числа. Например,

  • 0.10100100010000100000100... имеет шаблон, но это не повторяющийся шаблон фиксированной длины, поэтому число нерационально
  • 1.0110101000001001111001100110011111110... является двоичным представлением 2 {\ displaystyle {\ sqrt {2}} }{\ sqrt {2}} , квадратный корень из 2, еще одно иррациональное. Он не имеет различимого шаблона.

См. Также

  • icon Математический портал

Ссылки

Дополнительная литература

  • Sanchez, Julio; Кантон, Мария П. (2007). Программирование микроконтроллера: микрочип PIC. Бока-Ратон, Флорида: CRC Press. п. 37. ISBN 978-0-8493-7189-9.
  • Редмонд, Джеффри; Хон, Цзы-Ки (2014). Обучение И-Цзин. Издательство Оксфордского университета. ISBN 978-0-19-976681-9. CS1 maint: ref = harv (ссылка )

Внешние ссылки

Викискладе есть медиафайлы на Двоичная система счисления.
В Викиучебнике есть книга по темам: Фракталы / Математика / двоичная
Последняя правка сделана 2021-05-12 06:25:53
Содержание доступно по лицензии CC BY-SA 3.0 (если не указано иное).
Обратная связь: support@alphapedia.ru
Соглашение
О проекте