Двоичные числа — это… Что такое Двоичные числа?
Двоичная система счисления — это позиционная система счисления с основанием 2. В этой системе счисления натуральные числа записываются с помощью всего лишь двух символов (в роли которых обычно выступают цифры 0 и 1).
Двоичная система используется в цифровых устройствах, поскольку является наиболее простой и соответствует требованиям:
- Чем меньше значений существует в системе, тем проще изготовить отдельные элементы, оперирующие этими значениями. В частности, две цифры двоичной системы счисления могут быть легко представлены многими физическими явлениями: есть ток — нет тока, индукция магнитного поля больше пороговой величины или нет и т. д.
- Чем меньше количество состояний у элемента, тем выше помехоустойчивость и тем быстрее он может работать. Например, чтобы закодировать три состояния через величину индукции магнитного поля, потребуется ввести два пороговых значения, что не будет способствовать помехоустойчивости и надёжности хранения информации.
- Двоичная арифметика является довольно простой. Простыми являются таблицы сложения и умножения — основных действий над числами.
- Возможно применение аппарата алгебры логики для выполнения побитовых операций над числами.
В цифровой электронике одному двоичному разряду в двоичной системе счисления соответствует один двоичный логический элемент (инвертор с логикой на входе) с двумя состояниями (открыт, закрыт).
1 + 0 = 1 1 + 1 = 10 10 + 10 = 100
Таблица умножения двоичных чисел
0 • 0 = 0 0 • 1 = 0 1 • 0 = 0 1 • 1 = 1
Использование двоичной системы при измерении дюймами
При указании линейных размеров в дюймах по традиции используют двоичные дроби, а не десятичные, например: 5¾″, 715/16″, 311/32″ и т. д.
Преобразование чисел
Для преобразования из двоичной системы в десятичную используют следующую таблицу степеней основания 2:
512 | 256 | 128 | 64 | 32 | 16 | 8 | 4 | 2 | 1 |
Начиная с цифры 1 все цифры умножаются на два. Точка, которая стоит после 1 называется двоичной точкой.
Преобразование двоичных чисел в десятичные
Допустим, вам дано двоичное число 110011. Какому числу оно эквивалентно? Чтобы ответить на этот вопрос, прежде всего запишите данное число следующим образом:
512 | 256 | 128 | 64 | 32 | 16 | 8 | 4 | 2 | 1 |
1 | 1 | 0 | 0 | 1 | 1 | ||||
32 | +16 | +2 | +1 |
Затем, начиная с двоичной точки, двигайтесь влево. Под каждой двоичной единицей напишите её эквивалент в строчке ниже. Сложите получившиеся десятичные числа. Таким образом, двоичное число 110011 равнозначно 51.
Либо .
Преобразование методом Горнера
Для того, что бы преобразовывать числа из двоичной в десятичную систему данным методом, надо суммировать цифры слева-направо, умножая ранее полученный результат на основу системы (в данном случае 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.
Преобразование десятичных чисел к ближайшей степени двойки, неменьшей этого числа
Ниже приведена функция, возвращающая число, неменьшее аргумента, и являющееся степенью двух.
unsigned int to_deg_2(unsigned int num){ int i; if ( num == 1 ) return 2; for( num-=1,i=1; i < sizeof(unsigned int)*8; i*=2 ) num = num|(num>>i); return num+1; }
Преобразование десятичных чисел в двоичные
Допустим, нам нужно перевести число 19 в двоичное. Вы можете воспользоваться следующей процедурой :
19 /2 = 9 с остатком 1 9 /2 = 4 c остатком 1 4 /2 = 2 с остатком 0 2 /2 = 1 с остатком 0 1 /2 = 0 с остатком 1
Итак, мы делим каждое частное на 2 и записываем в остаток 1 или 0. Продолжать деление надо пока в делимом не будет 1. Ставим числа из остатка друг за другом, начиная с конца. В результате получаем число 19 в двоичной записи (начиная с конца): 10011.
Другие системы счисления
В статье «Системы счисления (продолжение)»[1] описываются преимущества и недостатки 4-ричной системы счисления по сравнению с двоичной в компьютерах, созданных Хитогуровым.
См. также
Ссылки
- ↑ http://potan.livejournal.com/91399.html Системы счисления (продолжение)
Wikimedia Foundation.
2010.
Бинарные числа: двоичная система счисления
Бинарные числа — это числа из двоичной системы счисления, имеющей основание 2. Она непосредственно реализована в цифровой электронике, используется в большинстве современных вычислительных устройств, включая компьютеры, мобильные телефоны и разного рода датчики. Можно сказать, что все технологии нашего времени построены на бинарных числах.
Запись чисел
Любое число, сколь бы большим оно ни было, в двоичной системе записывается посредством двух символов: 0 и 1. Например цифра 5 из всем знакомой десятичной системы в двоичной будет представлено как 101. Бинарные числа могут быть обозначены префиксом 0b или амперсандом (&), например: &101.
Во всех системах счисления, исключая десятичную, символы читаются по одиночке, то есть взятое в пример 101 читается как «один ноль один».
Перевод из одной системы в другую
Программисты, постоянно работающие с двоичной системой счисления, на ходу могут перевести бинарное число в десятичное. Это действительно можно сделать и без всяких формул, особенно если человек имеет представление о том, как работает самая малая часть компьютерного «мозга» — бит.
Цифра ноль так же обозначает 0, а цифра один в двоичной системе тоже будет единицей, но что делать дальше, когда цифры закончились? Десятичная система «предложила» бы в таком случае ввести термин «десяток», а в бинарной системе это будет называться «двойка».
Если 0 это &0 (амперсанд — обозначение двоичной системы), 1 = &1, то 2 будет обозначаться как &10. Тройку тоже можно записать в двух разрядах, она будет иметь вид &11, то есть одна двойка и одна единица. Возможные комбинации исчерпаны, и в десятичной системе на этом этапе вводятся сотни, а в двоичной — «четверки». Четыре — это &100, пять — &101, шесть — &110, семь — &111. Следующая, более крупная единица счета — это восьмерка.
Можно заметить особенность: если в десятичной системе разряды умножаются на десять (1, 10, 100, 1000 и так далее), то в двоичной, соответственно, на два: 2, 4, 8, 16, 32. Это соответствует размеру флеш-карт и прочих накопителей, использующихся в компьютерах и других устройствах.
Что такое бинарный код
Числа, представленные в двоичной системе счисления, называются бинарными, однако в таком виде можно представить и не числовые значения (буквы и символы). Таким образом, в цифрах можно закодировать слова и тексты, правда вид они будут иметь не столь лаконичный, ведь для записи всего одной буквы потребуется несколько нолей и единиц.
Но каким образом компьютерам удается считывать такое количество информации? На самом деле все проще, чем кажется. Люди, привыкшие к десятичной системе счисления, сначала переводят двоичные числа в более привычные, и только потом производят с ними какие-либо манипуляции, а в основе компьютерной логики изначально лежит бинарная система чисел. Единице в технике соответствует высокое напряжение, а нулю — низкое, либо для единицы напряжение есть, а для ноля вообще отсутствует.
Бинарные числа в культуре
Ошибкой будет считать, что двоичная система счисления — это заслуга современных математиков. Хотя бинарные числа и являются основополагающими в технологиях нашего времени, использовались они уже очень давно, причем в разных уголках планеты. Используются длинная линия (единица) и прерывистая (ноль), кодирующие восемь символов, означающих восемь стихий: небо, землю, гром, воду, горы, ветер, огонь и водоем (массу воды). Этот аналог 3-битных цифр описывался в классическом тексте книги Перемен. Триграммы составляли 64 гексаграммы (6-битные цифры), порядок которых в книге Перемен был расположен в соответствии с двоичными цифрами от 0 до 63.
Этот порядок был составлен в одиннадцатом веке китайским ученым Шао Юном, хотя нет доказательств того, что он действительно понимал двоичную систему счисления в целом.
В Индии еще до нашей эры тоже применялись бинарные числа в математической основе для описания поэзии, составленные математиком Пингалой.
Узелковая письменность инков (кипу) считается прообразом современных баз данных. Именно они впервые применили не только бинарный код числа, но и не числовые записи в двоичной системе. Узелковое письмо кипу характерно не только первичными и дополнительными ключами, но и использованием позиционных чисел, кодированием с помощью цвета и сериями повторений данных (циклами). Инки впервые применили способ ведения бухгалтерского учета, называемый двойной записью.
Первый из программистов
Двоичную систему счисления, основанную на цифрах 0 и 1, описал и знаменитый ученый, физик и математик, Готфрид Вильгельм Лейбниц. Он увлекался древней китайской культурой и, изучая традиционные тексты книги Перемен, заметил соответствие гексаграмм бинарным числам от 0 до 111111. Он восхитился свидетельствам подобных достижений в философии и математике для того времени. Лейбница можно назвать первым из программистов и информационных теоретиков. Именно он обнаружил, что если записать группы двоичных чисел вертикально (одно под другим), то в получившихся вертикальных столбцах чисел будут регулярно повторяться ноли и единицы. Это позвонило ему предположить, что возможно существование совершенно новых математических законов.
Лейбниц понял и то, что бинарные числа оптимальны для применения в механике, основой которой должна быть смена пассивных и активных циклов. На дворе был 17 век, а этот великий ученый изобрел на бумаге вычислительную машину, работавшую на основе его новых открытий, однако быстро понял, что цивилизация еще не достигла такого технологического развития, и в его время создание такой машины будет невозможным.
Двоичная система счисления — это… Что такое Двоичная система счисления?
Системы счисления в культуре | |
---|---|
Индо-арабская система счисления | |
Арабская Индийские Тамильская Бирманская | Кхмерская Лаоская Монгольская Тайская |
Восточноазиатские системы счисления | |
Китайская Японская Сучжоу Корейская | Вьетнамская Счётные палочки |
Алфавитные системы счисления | |
Абджадия Армянская Ариабхата Кириллическая | Греческая Эфиопская Еврейская Катапаяди |
Другие системы | |
Вавилонская Египетская Этрусская Римская | Аттическая Кипу Майская |
Позиционные системы счисления | |
Десятичная система счисления (10) | |
2, 3, 4, 5, 6, 7, 8, 9, 12, 16, 20, 60 | |
Нега-позиционная система счисления | |
Симметричная система счисления | |
Смешанные системы счисления | |
Фибоначчиева система счисления | |
Непозиционные системы счисления | |
Единичная (унарная) система счисления | |
Список систем счисления |
Двоичная система счисления — позиционная система счисления с основанием 2.
Двоичные цифры
В этой системе счисления числа записываются с помощью двух символов (0 и 1).
История
- В 1605 году Френсис Бэкон описал систему, буквы алфавита которой могут быть сведены к последовательностям двоичных цифр, которые в свою очередь могут быть закодированы как едва заметные изменения шрифта в любых случайных текстах. Важным шагом в становлении общей теории двоичного кодирования является замечание о том, что указанный метод может быть использован применительно к любым объектам.[7] (См. Шифр Бэкона)
- Современная двоичная система была полностью описана Лейбницем в XVII веке в работе Explication de l’Arithmétique Binaire[8]. В системе счисления Лейбница были использованы цифры 0 и 1, как и в современной двоичной системе. Как человек, увлекающийся китайской культурой, Лейбниц знал о книге Перемен и заметил, что гексаграммы соответствуют двоичным числам от 0 до 111111. Он восхищался тем, что это отображение является свидетельством крупных китайских достижений в философской математике того времени.[9]
- В 1937 году Клод Шеннон представил к защите кандидатскую диссертацию Символический анализ релейных и переключательных схем в MIT, в которой булева алгебра и двоичная арифметика были использованы применительно к электронным реле и переключателям. На диссертации Шеннона по существу основана вся современная цифровая техника.
- В ноябре 1937 года Джордж Штибиц, впоследствии работавший в Bell Labs, создал на базе реле компьютер «Model K» (от англ. «Kitchen», кухня, где производилась сборка), который выполнял двоичное сложение. В конце 1938 года Bell Labs развернула исследовательскую программу во главе со Штибицом. Созданный под его руководством компьютер, завершённый 8 января 1940 года, умел выполнять операции с комплексными числами. Во время демонстрации на конференции American Mathematical Society в Дартмутском колледже 11 сентября 1940 года Штибиц продемонстрировал возможность посылки команд удалённому калькулятору комплексных чисел по телефонной линии с использованием телетайпа. Это была первая попытка использования удалённой вычислительной машины посредством телефонной линии. Среди участников конференции, бывших свидетелями демонстрации, были Джон фон Нейман, Джон Мокли и Норберт Винер, впоследствии писавшие об этом в своих мемуарах.
Запись двоичных чисел
Двоичная система счисления является комбинацией двоичной системы кодирования и показательной весовой функции с основанием равным 2. Положительные целые числа (без знака) записываются в виде:
где:
- — представляемое число, первый индекс — основание системы кодирования (размерность множества цифр a={0,1}), второй индекс — основание весовой показательной функции b (в двоично-десятичном кодировании b=10),
- — запись числа, строка цифровых знаков,
- — обозначение основания системы кодирования и основания системы счисления,
- — количество цифр (знаков) в числе x2,2,
- — порядковый номер цифры,
- — цифры числа x2,2 из множества a={0,1}, в двоичной системе счисления основание системы кодирования равно 2,
- — основание показательной весовой функции, основание системы счисления,
- — весовая показательная функция, создающая весовые коэффициенты.
Количество записываемых кодов (чисел) зависит от основания системы кодирования — c, определяется в комбинаторике и равно числу размещений с повторениями:
где:
Количество записываемых кодов (чисел) от основания показательной функции — b не зависит.
Основание показательной функции — b определяет диапазон представляемых числами x2,b величин и разреженность представляемых чисел на числовой оси.
Целые числа являются частными суммами степенного ряда:
в котором коэффициенты an берутся из множества R=a{0,1}, X=2, n=k, а верхний предел в частных суммах ограничен с до — n-1.
Целые числа со знаком записываются в виде:
где:
- — знак числа из множества z={+,-}, у положительных целых чисел знак зачастую опускается.
Дробные числа записываются в виде:
где:
- — число цифр дробной части числа,
- — весовые коэффициенты из множества ,
- основание системы кодирования равно 2,
- — основание показательной весовой функции, основание системы счисления.
Следует отметить, что число может быть записано в двоичном коде, а система счисления при этом может быть не двоичной, а с другим основанием. Пример: двоично-десятичное кодирование, в котором десятичные цифры записываются в двоичном виде, а система счисления — десятичная.
Сложение, вычитание и умножение двоичных чисел
Таблица сложения
Пример сложения «столбиком» (14 + 5 = 19):
1 | ↖ | ||||
---|---|---|---|---|---|
+ | 1 | 1 | 1 | 0 | |
1 | 0 | 1 | |||
1 | 0 | 0 | 1 | 1 |
Таблица вычитания
— | 0 | 1 |
---|---|---|
0 | 0 | 1 |
1 | (заём из старшего разряда) 1 | 0 |
Таблица умножения
Пример умножения «столбиком» (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 в двоичное. Вы можете воспользоваться следующей процедурой :
19 /2 = 9 с остатком 1 9 /2 = 4 c остатком 1 4 /2 = 2 без остатка 0 2 /2 = 1 без остатка 0 1 /2 = 0 с остатком 1
Итак, мы делим каждое частное на 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
Применения
В цифровых устройствах
Двоичная система используется в цифровых устройствах, поскольку является наиболее простой и соответствует требованиям:
- Чем меньше значений существует в системе, тем проще изготовить отдельные элементы, оперирующие этими значениями. В частности, две цифры двоичной системы счисления могут быть легко представлены многими физическими явлениями: есть ток (ток больше пороговой величины) — нет тока (ток меньше пороговой величины), индукция магнитного поля больше пороговой величины или нет (индукция магнитного поля меньше пороговой величины) и т. д.
- Чем меньше количество состояний у элемента, тем выше помехоустойчивость и тем быстрее он может работать. Например, чтобы закодировать три состояния через величину напряжения, тока или индукции магнитного поля, потребуется ввести два пороговых значения и два компаратора, что не будет способствовать помехоустойчивости и надёжности хранения информации.[источник не указан 770 дней]
- Двоичная арифметика является довольно простой. Простыми являются таблицы сложения и умножения — основных действий над числами.
В цифровой электронике одному двоичному разряду в двоичной системе счисления соответствует (очевидно) один двоичный разряд двоичного регистра, то есть двоичный триггер с двумя состояниями (0,1).
В английской системе мер
При указании линейных размеров в дюймах по традиции используют двоичные дроби, а не десятичные, например: 5¾″, 715/16″, 311/32″ и т. д.
Интересные факты
См. также
Примеры чисел-степеней двойки
Степень | Значение |
---|---|
0 | 1 |
1 | 2 |
2 | 4 |
3 | 8 |
4 | 16 |
5 | 32 |
6 | 64 |
7 | 128 |
8 | 256 |
9 | 512 |
10 | 1024 |
11 | 2048 |
12 | 4096 |
13 | 8192 |
14 | 16384 |
15 | 32768 |
16 | 65536 |
17 | 131072 |
18 | 262144 |
19 | 524288 |
20 | 1048576 |
21 | 2097152 |
22 | 4194304 |
23 | 8388608 |
24 | 16777216 |
25 | 33554432 |
26 | 67108864 |
27 | 134217728 |
28 | 268435456 |
29 | 536870912 |
30 | 1073741824 |
31 | 2147483648 |
32 | 4294967296 |
33 | 8589934592 |
34 | 17179869184 |
35 | 34359738368 |
36 | 68719476736 |
37 | 137438953472 |
38 | 274877906944 |
39 | 549755813888 |
40 | 1099511627776 |
41 | 2199023255552 |
42 | 4398046511104 |
43 | 8796093022208 |
44 | 17592186044416 |
45 | 35184372088832 |
46 | 70368744177664 |
47 | 140737488355328 |
48 | 281474976710656 |
49 | 562949953421312 |
50 | 1125899906842624 |
51 | 2251799813685248 |
Примечания
- ↑ Sanchez, Julio & Canton, Maria P. (2007), «Microcontroller programming: the microchip PIC», Boca Raton, Florida: CRC Press, с. 37, ISBN 0-8493-7189-9
- ↑ W. S. Anglin and J. Lambek, The Heritage of Thales, Springer, 1995, ISBN 0-387-94544-X
- ↑ Ordish George, Hyams, Edward. The last of the Incas: the rise and fall of an American empire. — New York: Barnes & Noble, 1996. — С. 80. — ISBN 0-88029-595-3
- ↑ Experts ‘decipher’ Inca strings. Архивировано из первоисточника 18 августа 2011.
- ↑ Carlos Radicati di Primeglio, Gary Urton Estudios sobre los quipus. — P. 49.
- ↑ Dale Buckmaster (1974). «The Incan Quipu and the Jacobsen Hypothesis». Journal of Accounting Research 12 (1): 178-181. Проверено 2009-12-24.
- ↑ Bacon, Francis, «The Advancement of Learning», vol. 6, London, сс. Chapter 1, <http://home.hiwaay.net/~paul/bacon/advancement/book6ch2.html>
- ↑ http://www.leibniz-translations.com/binary.htm Leibniz Translation.com EXPLANATION OF BINARY ARITHMETIC
- ↑ Aiton, Eric J. (1985), «Leibniz: A Biography», Taylor & Francis, сс. 245–8, ISBN 0-85274-470-6
Ссылки
Двоичная система — это… Что такое Двоичная система?
Двоичная система счисления — это позиционная система счисления с основанием 2. В этой системе счисления натуральные числа записываются с помощью всего лишь двух символов (в роли которых обычно выступают цифры 0 и 1).
Двоичная система используется в цифровых устройствах, поскольку является наиболее простой и соответствует требованиям:
- Чем меньше значений существует в системе, тем проще изготовить отдельные элементы, оперирующие этими значениями. В частности, две цифры двоичной системы счисления могут быть легко представлены многими физическими явлениями: есть ток — нет тока, индукция магнитного поля больше пороговой величины или нет и т. д.
- Чем меньше количество состояний у элемента, тем выше помехоустойчивость и тем быстрее он может работать. Например, чтобы закодировать три состояния через величину индукции магнитного поля, потребуется ввести два пороговых значения, что не будет способствовать помехоустойчивости и надёжности хранения информации.
- Двоичная арифметика является довольно простой. Простыми являются таблицы сложения и умножения — основных действий над числами.
- Возможно применение аппарата алгебры логики для выполнения побитовых операций над числами.
В цифровой электронике одному двоичному разряду в двоичной системе счисления соответствует один двоичный логический элемент (инвертор с логикой на входе) с двумя состояниями (открыт, закрыт).
1 + 0 = 1 1 + 1 = 10 10 + 10 = 100
Таблица умножения двоичных чисел
0 • 0 = 0 0 • 1 = 0 1 • 0 = 0 1 • 1 = 1
Использование двоичной системы при измерении дюймами
При указании линейных размеров в дюймах по традиции используют двоичные дроби, а не десятичные, например: 5¾″, 715/16″, 311/32″ и т. д.
Преобразование чисел
Для преобразования из двоичной системы в десятичную используют следующую таблицу степеней основания 2:
512 | 256 | 128 | 64 | 32 | 16 | 8 | 4 | 2 | 1 |
Начиная с цифры 1 все цифры умножаются на два. Точка, которая стоит после 1 называется двоичной точкой.
Преобразование двоичных чисел в десятичные
Допустим, вам дано двоичное число 110011. Какому числу оно эквивалентно? Чтобы ответить на этот вопрос, прежде всего запишите данное число следующим образом:
512 | 256 | 128 | 64 | 32 | 16 | 8 | 4 | 2 | 1 |
1 | 1 | 0 | 0 | 1 | 1 | ||||
32 | +16 | +2 | +1 |
Затем, начиная с двоичной точки, двигайтесь влево. Под каждой двоичной единицей напишите её эквивалент в строчке ниже. Сложите получившиеся десятичные числа. Таким образом, двоичное число 110011 равнозначно 51.
Либо .
Преобразование методом Горнера
Для того, что бы преобразовывать числа из двоичной в десятичную систему данным методом, надо суммировать цифры слева-направо, умножая ранее полученный результат на основу системы (в данном случае 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.
Преобразование десятичных чисел к ближайшей степени двойки, неменьшей этого числа
Ниже приведена функция, возвращающая число, неменьшее аргумента, и являющееся степенью двух.
unsigned int to_deg_2(unsigned int num){ int i; if ( num == 1 ) return 2; for( num-=1,i=1; i < sizeof(unsigned int)*8; i*=2 ) num = num|(num>>i); return num+1; }
Преобразование десятичных чисел в двоичные
Допустим, нам нужно перевести число 19 в двоичное. Вы можете воспользоваться следующей процедурой :
19 /2 = 9 с остатком 1 9 /2 = 4 c остатком 1 4 /2 = 2 с остатком 0 2 /2 = 1 с остатком 0 1 /2 = 0 с остатком 1
Итак, мы делим каждое частное на 2 и записываем в остаток 1 или 0. Продолжать деление надо пока в делимом не будет 1. Ставим числа из остатка друг за другом, начиная с конца. В результате получаем число 19 в двоичной записи (начиная с конца): 10011.
Другие системы счисления
В статье «Системы счисления (продолжение)»[1] описываются преимущества и недостатки 4-ричной системы счисления по сравнению с двоичной в компьютерах, созданных Хитогуровым.
См. также
Ссылки
- ↑ http://potan.livejournal.com/91399.html Системы счисления (продолжение)
Wikimedia Foundation.
2010.
Двоичное счисление на пальцах
Если у вас в школе была информатика, не исключено, что там было упражнение на перевод обычных чисел в двоичную систему и обратно. Маловероятно, что кто-то вам объяснял практический смысл этой процедуры и откуда вообще берётся двоичное счисление. Давайте закроем этот разрыв.
Эта статья не имеет практической ценности — читайте её просто ради интереса к окружающему миру. Если нужны практические статьи, заходите в наш раздел «Где-то баг», там каждая статья — это практически применимый проект.
Отличный план
Чтобы объяснить всё это, нам понадобится несколько тезисов:
- Система записи числа — это шифр.
- Мы привыкли шифровать десятью знаками.
- Но система записи чисел может быть любой. Это условность.
- Двоичная система — это тоже нормальная система.
- Всё тлен и суета.
Система записи — это шифр
Если у нас есть девять коров, мы можем записать их как ? ? ? ? ? ? ? ? ? или как 9 × ?.
Почему 9 означает «девять»? И почему вообще есть такое слово? Почему такое количество мы называем этим словом? Вопрос философский, и короткий ответ — нам нужно одинаково называть числа, чтобы друг друга понимать. Слово «девять», цифра 9, а также остальные слова — это шифр, который мы выучили в школе, чтобы друг с другом общаться.
Допустим, к нашему стаду прибиваются еще ???. Теперь у нас ? ? ? ? ? ? ? ? ? ? ? ? — двенадцать коров, 12. Почему мы знаем, что 12 — это «двенадцать»? Потому что мы договорились так шифровать числа.
Нам очень легко расшифровывать записи типа 12, 1920, 100 500 и т. д. — мы к ним привыкли, мы учили это в школе. Но это шифр. 12 × ? — это не то же самое, что ? ? ? ? ? ? ? ? ? ? ? ?. Это некая абстракция, которой мы пользуемся, чтобы упростить себе счёт.
Мы привыкли шифровать десятью знаками
У нас есть знаки 0, 1, 2, 3, 4, 5, 6, 7, 8 и 9 — всего десять знаков. Этим числом знаков мы шифруем количество единиц, десятков, сотен, тысяч и так далее.
Мы договорились, что нам важен порядок записи числа. Мы знаем, что самый правый знак в записи означает число единиц, следующий знак (влево) означает число десятков, потом сотен и далее.
Например, перед нами число 19 547. Мы знаем, что в нём есть:
1 × 10 000
9 × 1000
5 × 100
4 × 10
7 × 1
Если приглядеться, то каждый следующий разряд числа показывает следующую степень десятки:
1 × 104
9 × 103
5 × 102
4 × 101
7 × 100
Нам удобно считать степенями десятки, потому что у нас по десять пальцев и мы с раннего детства научились считать до десяти.
Система записи — это условность
Представим бредовую ситуацию: у нас не 10 пальцев, а 6. И в школе нас учили считать не десятками, а шестёрками. И вместо привычных цифр мы бы использовали знаки ØABCDE. Ø — это по-нашему ноль, A — 1, B — 2, E — 5.
Вот как выглядели бы привычные нам цифры в этой бредовой системе счисления:
0 — Ø 1 — A 2 — B 3 — C 4 — D 5 — E | 6 — AØ 7 — AA 8 — AB 9 — AC 10 — AD 11 — AE | 12 — BØ 13 — BA 14 — BB 15 — BC 16 — BD 17 — BE | 18 — CØ 19 — CA 20 — CB 21 — CC 22 — CD 23 — CE | 24 — DØ 25 — DA 26 — DB 27 — DC 28 — DD 29 — DE | 30 — EØ 31 — EA 32 — EB 33 — EC 34 — ED 35 — EE | 36 — AØØ 37 — AØA 38 — AØB 39 — AØC 40 — AØD 41 — AØE |
В этой системе мы считаем степенями шестёрки. Число ABADØ можно было бы перевести в привычную нам десятичную запись вот так:
A × 64 = 1 × 1296 = 1296
B × 63 = 2 × 216 = 432
A × 62 = 1 × 36 = 36
D × 61 = 4 × 6 = 24
Ø × 60 = 0 × 1 = 0
1296 + 432 + 36 + 24 + 0 = 1788. В нашей десятичной системе это 1788, а у людей из параллельной вселенной это ABADØ, и это равноценно.
Выглядит бредово, но попробуйте вообразить, что у нас в сумме всего шесть пальцев. Каждый столбик — как раз шесть чисел. Очень легко считать в уме. Если бы нас с детства учили считать шестёрками, мы бы спокойно выучили этот способ и без проблем всё считали. А счёт десятками вызывал бы у нас искреннее недоумение: «Что за бред, считать числом AD? Гораздо удобнее считать от Ø до E!»
То, как мы шифруем и записываем числа, — это следствие многовековой традиции и физиологии. Вселенной, космосу, природе и стадам коров глубоко безразлично, что мы считаем степенями десятки. Природа не укладывается в эту нашу систему счёта.
Например, свет распространяется в вакууме со скоростью 299 792 458 метров в секунду. Ему плевать, что нам для ровного счёта хотелось бы, чтобы он летел со скоростью 300 тысяч километров в секунду. А ускорение свободного падения тела возле поверхности Земли — 9,81 м/с2. Так и хочется спросить: «Тело, а ты не могло бы иметь ускорение 10 м/с2?» — но телу плевать на наши системы счисления.
Двоичная система (тоже нормальная)
Внутри компьютера работают транзисторы. У них нет знаков 0, 1, 2, 3… 9. Транзисторы могут быть только включёнными и выключенными — обозначим их ? и ⚫.
Мы можем научить компьютер шифровать наши числа этими транзисторами так же, как шестипалые люди шифровали наши числа буквами. Только у нас будет не 6 букв, а всего две: ? и ⚫. И выходит, что в каждом разряде будет стоять не число десяток в разной степени, не число шестёрок в разной степени, а число… двоек в разной степени. И так как у нас всего два знака, то получается, что мы можем обозначить либо наличие двойки в какой-то степени, либо отсутствие:
0 — ⚫ 2 — ?⚫ 4 — ?⚫⚫ | 8 — ?⚫⚫⚫ 9 — ?⚫⚫? 10 — ?⚫?⚫ 11 — ?⚫?? 12 — ??⚫⚫ 13 — ??⚫? 14 — ???⚫ 15 — ???? | 16 — ?⚫⚫⚫⚫ 17 — ?⚫⚫⚫? 18 — ?⚫⚫?⚫ 19 — ?⚫⚫?? 20 — ?⚫?⚫⚫ 21 — ?⚫?⚫? 21 — ?⚫??⚫ 23 — ?⚫??? 24 — ??⚫⚫⚫ 25 — ??⚫⚫? 26 — ??⚫?⚫ 27 — ??⚫?? 28 — ???⚫⚫ 29 — ???⚫? 30 — ????⚫ 31 — ????? | 32 — ?⚫⚫⚫⚫⚫ 33 — ?⚫⚫⚫⚫? 34 — ?⚫⚫⚫?⚫ 35 — ?⚫⚫⚫?? 36 — ?⚫⚫?⚫⚫ 37 — ?⚫⚫?⚫? 38 — ?⚫⚫??⚫ 39 — ?⚫⚫??? 40 — ?⚫?⚫⚫⚫ 41 — ?⚫?⚫⚫? 42 — ?⚫?⚫?⚫ 43 — ?⚫?⚫?? 44 — ?⚫??⚫⚫ 45 — ?⚫??⚫? 46 — ?⚫???⚫ 47 — ?⚫???? 48 — ??⚫⚫⚫⚫ 49 — ??⚫⚫⚫? 50 — ??⚫⚫?⚫ 51 — ??⚫⚫?? 52 — ??⚫?⚫⚫ 53 — ??⚫?⚫? 54 — ??⚫??⚫ 55 — ??⚫??? 56 — ???⚫⚫⚫ 57 — ???⚫⚫? 58 — ???⚫?⚫ 59 — ???⚫?? 60 — ????⚫⚫ 61 — ????⚫? 62 — ?????⚫ 63 — ?????? |
Если перед нами число ? ⚫?⚫⚫ ??⚫⚫, мы можем разложить его на разряды, как в предыдущих примерах:
? = 1 × 28 = 256
⚫ = 0 × 27 = 0
? = 1 × 26 = 64
⚫ = 0 × 25 = 0
⚫ = 0 × 24 = 0
? = 1 × 23 = 8
? = 1 × 22 = 4
⚫ = 0 × 21 = 0
⚫ = 0 × 20 = 0
256 + 0 + 64 + 0 + 0 + 8 + 4 + 0 + 0 = 332
Получается, что десятипалые люди могут записать это число с помощью цифр 332, а компьютер с транзисторами — последовательностью транзисторов ?⚫?⚫⚫ ??⚫⚫.
Если теперь заменить включённые транзисторы на единицы, а выключенные на нули, получится запись 1 0100 1100. Это и есть наша двоичная запись того же самого числа.
Почему говорят, что компьютер состоит из единиц и нулей (и всё тлен)
Инженеры научились шифровать привычные для нас числа в последовательность включённых и выключенных транзисторов.
Дальше эти транзисторы научились соединять таким образом, чтобы они умели складывать зашифрованные числа. Например, если сложить ?⚫⚫ и ⚫⚫?, получится ?⚫?. Мы писали об этом подробнее в статье о сложении через транзисторы.
Дальше эти суммы научились получать супербыстро. Потом научились получать разницу. Потом умножать. Потом делить. Потом всё это тоже научились делать супербыстро. Потом научились шифровать не только числа, но и буквы. Научились их хранить и считывать. Научились шифровать цвета и координаты. Научились хранить картинки. Последовательности картинок. Видео. Инструкции для компьютера. Программы. Операционные системы. Игры. Нейросети. Дипфейки.
И всё это основано на том, что компьютер умеет быстро-быстро складывать числа, зашифрованные как последовательности включённых и выключенных транзисторов.
При этом компьютер не понимает, что он делает. Он просто гоняет ток по транзисторам. Транзисторы не понимают, что они делают. По ним просто бежит ток. Лишь люди придают всему этому смысл.
Когда человека не станет, скорость света будет по-прежнему 299 792 458 метров в секунду. Но уже не будет тех, кто примется считать метры и секунды. Такие дела.
Как читать двоичный (бинарный) код
Если вам интересно узнать, как читать двоичные числа, важно понять, как работают двоичные числа. Двоичная система известна как система нумерации «base 2», что означает наличие двух возможных чисел для каждой цифры; один или ноль. Большие числа записываются путем добавления дополнительных двоичных единиц или нулей.
Понимание двоичных чисел
Знание того, как читать двоичные файлы, не является критичным для использования компьютеров. Но хорошо понять концепцию, чтобы лучше понять, как компьютеры хранят числа в памяти. Он также позволяет понимать такие термины, как 16-битные, 32-битные, 64-битные и измерения памяти, такие как байты (8 бит).
Как читать двоичный код
«Чтение» двоичного кода обычно означает перевод двоичного числа в базовое 10 (десятичное) число, с которым люди знакомы. Это преобразование достаточно просто выполнить в своей голове, когда вы поймете, как работает бинарный язык.
Каждая цифра в двоичном числе имеет определенное значение, если цифра не является нулем. После того как вы определили все эти значения, вы просто складываете их вместе, чтобы получить 10-значное десятичное значение двоичного числа. Чтобы увидеть, как это работает, возьмите двоичное число 11001010.
1. Лучший способ прочитать двоичное число — начать с самой правой цифры и двигаться влево. Сила этого первого местоположения равна нулю, то есть значение для этой цифры, если это не ноль, равно двум степеням нуля или единице. В этом случае, поскольку цифра является нулем, значение для этого места будет равно нулю.
2. Затем перейдите к следующей цифре. Если это один, то рассчитайте два в степени одного. Запишите это значение. В этом примере значение равно степени два, равной двум.
3. Продолжайте повторять этот процесс, пока не дойдете до самой левой цифры.
4. Чтобы закончить, все, что вам нужно сделать, это сложить все эти числа вместе, чтобы получить общее десятичное значение двоичного числа: 128 + 64 + 0 + 0 + 8 + 0 + 2 + 0 = 202.
Заметка: Другой способ увидеть весь этот процесс в форме уравнения заключается в следующем: 1 x 2 7 + 1 x 2 6 + 0 x 2 5 + 0 x 2 4 + 1 x 2 3 + 0 x 2 2 + 1 x 2 1 + 0 х 2 0 = 20.
Двоичные числа с подписью
Приведенный выше метод работает для базовых двоичных чисел без знака. Однако компьютерам нужен способ представления отрицательных чисел также с помощью двоичного кода.
Из-за этого компьютеры используют двоичные числа со знаком. В системе этого типа самая левая цифра известна как знаковый бит, а остальные цифры известны как биты амплитуды.
Чтение двоичного числа со знаком почти такое же, как и без знака, с одним небольшим отличием.
1. Выполните ту же процедуру, как описано выше для двоичного числа без знака, но остановитесь, как только вы достигнете самого левого бита.
2. Чтобы определить знак, осмотрите крайний левый бит. Если это единица, то число отрицательное. Если это ноль, то число положительное.
3. Теперь выполните те же вычисления, что и раньше, но примените соответствующий знак к числу, указанному крайним левым битом: 64 + 0 + 0 + 8 + 0 + 2 + 0 = -74.
4. Бинарный метод со знаком позволяет компьютерам представлять числа, которые являются положительными или отрицательными. Однако он потребляет начальный бит, а это означает, что для больших чисел требуется немного больше памяти, чем для двоичных чисел без знака.
НОУ ИНТУИТ | Лекция | Двоичные числа и двоичная арифметика
Аннотация: Рассматривается двоичная система счисления как частный случай позиционной системы и основные правила двоичной арифметики.
Принцип представления чисел в позиционных системах счисления
Позиционной называется система счисления, в которой вес разряда числа определяется его позицией в записи числа [1].
Вспомним нашу привычную десятичную систему счисления, в которой мы с детства производим все расчеты. Уже в начальной школе мы привыкли к терминам «единицы», «десятки», «сотни», «тысячи», «десятые», «сотые», «тысячные» и не задумываемся над тем, что они означают вес разряда, выраженный в виде числа, равного , где — целое число. Например, число 125, 46 можно представить в виде суммы:
сотни десятки единицы десятые доли сотые доли
Аналогично любое число в десятичной системе счисления можно представить в виде подобной суммы:
( 11.1) |
где — количество знаков в целой части числа, — количество знаков в дробной части числа, — вес -го разряда, — весовой коэффициент для -го разряда числа.
Количество возможных вариантов значения коэффициента в десятичной системе счисления равно , поскольку для записи чисел в ней используются десять знаков — арабские цифры «0», «1», «2», «3», «4», «5», «6», «7», «8» и «9». Число является основанием системы счисления. Исторически сложилось, что десятичная система получила наибольшее распространение, хотя по этому принципу можно сделать аналогичную запись в любой другой системе счисления c любым другим основанием. В табл. 11.1 прослежива
ется аналогия между позиционными системами счисления.
Основание системы счисления — это число, равное количеству знаков, которые используются в этой системе для записи чисел.
Для числа в системе счисления с основанием выражение (11.1) преобразуется к виду:
( 11.2) |
Название системы счисления | Основание системы счисления | Знаки, использующиеся для записи чисел |
---|---|---|
Двоичная | 2 | 0, 1 |
Троичная | 3 | 0, 1, 2 |
Четверичная | 4 | 0, 1, 2, 3 |
… | … | … |
Восьмеричная | 8 | 0, 1, 2, 3, 4, 5, 6, 7 |
… | … | … |
Десятичная | 10 | 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 |
… | … | … |
Шестнадцатеричная | 16 | 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F |
… | … | … |
С началом развития цифровой вычислительной техники большой интерес стала вызывать двоичная система, поскольку вычислительная машина любого поколения и любой степени сложности — это совокупность логических схем. Работа элементов этих схем основана на ключевом режиме работы транзистора, в котором он может быть только в двух состояниях, принимаемых за логический 0 и логическую 1.
Запись двоичного числа, как будет показано ниже, как правило, довольно длинна и громоздка, поэтому для более короткой записи двоичных чисел применяются восьмеричные и шестнадцатеричные числа. Выбор именно этих систем обусловлен тем, что их основания равны целой степени числа 2. Основание восьмеричной системы , а основание шеснадцатиричной системы — это . Для записи шестнадцатеричных чисел арабских цифр не хватает, поэтому используются первые шесть заглавных букв латинского алфавита.
Итак, далее мы подробно рассмотрим именно эти позиционные системы — двоичную, восьмеричную, шестнадцатеричную и их связь с привычной нам десятичной системой счисления.
Приведем примеры записи чисел в указанных системах и найдем их десятичные эквиваленты по формуле (11.2).
Для двоичного числа:
Здесь и далее будем придерживаться следующего правила: числа в двоичной, восьмеричной и шестнадцатеричной системах записываются с указанием основания, десятичные — без этой записи.
Для восьмеричного числа:
Для шестнадцатеричного числа:
Округление относится к дробной части числа, целая часть переводится точно. Особенностью перевода из шестнадцатеричного кода в десятичный код является то, что в качестве коэффициента используется десятичный эквивалент шестнадцатеричного знака в соответствии с таблицей 11.2. Для нашего примера вместо знака » » в расчетную формулу (11.2) подставляется десятичное число .
Из рассмотренных примеров видно, что общая формула (11.2) может использоваться для перевода числа из системы счисления с любым основанием в десятичную.
Перевод чисел из одной системы счисления в другую
Перевод из десятичной системы в любую другую. Перевод целых чисел
Целое десятичное число нужно поделить на основание новой системы счисления. Остаток от этого деления является самым младшим разрядом в новой записи числа. Результат деления вновь делится на основание. Остаток от этого деления будет следующим разрядом в новой записи числа, результат деления вновь делится на основание и т.д. до тех пор, пока в результате деления получится число, меньшее по величине, чем основание новой системы. Остаток этого последнего деления будет предпоследним разрядом в новой записи числа, а результат этого последнего деления — самым старшим разрядом в новой записи числа.
Проверка перевода осуществляется по формуле (11.2), так, как это показано ниже на примерах.
Пример. Перевести десятичное число 125 в двоичную, восьмеричную и шестнадцатеричную системы счисления. Проверить результаты по формуле (П11.2).
Проверка:
- в двоичном коде: ;
- в восьмеричном коде ;
- в шестнадцатеричном коде — .
В рассмотренном примере при переводе вместо коэффициента используется его десятичный эквивалент в соответствии с таблицей 11.2.
Перевод из двоичной системы в шестнадцатеричную (восьмеричную)
Как уже было сказано выше, шестнадцатеричный и восьмеричный коды используются для более компактной и удобной записи двоичных чисел. Так, программирование в машинных кодах осуществляется в большинстве случаев в шестнадцатеричном коде. Правила перевода для шестнадцатеричной и восьмеричной системы структурно одинаковы, отличия для восьмеричной системы отображаются в скобках.
Двоичная запись числа делится на группы по четыре ( три ) двоичных знака влево и вправо от запятой, отделяющей целые и дробные части Неполные крайние группы (если они есть) дополняются нулями до четырех ( трех ) знаков. Каждая группа заменяется одним шестнадцатеричным ( восьмеричным ) знаком в соответствии с кодом группы (табл. 11.2).
Двоичная группа | Шестнадцатеричный знак | Десятичный эквивалент | Двоичная группа | Восьмеричный знак |
---|---|---|---|---|
0000 | 0 | 0 | 000 | 0 |
0001 | 1 | 1 | 001 | 1 |
0010 | 2 | 2 | 010 | 2 |
0011 | 3 | 3 | 011 | 3 |
0100 | 4 | 4 | 100 | 4 |
0101 | 5 | 5 | 101 | 5 |
0110 | 6 | 6 | 110 | 6 |
0111 | 7 | 7 | 111 | 7 |
1000 | 8 | 8 | ||
1001 | 9 | 9 | ||
1010 | A | 10 | ||
1011 | B | 11 | ||
1100 | C | 12 | ||
1101 | D | 13 | ||
1110 | E | 14 | ||
1111 | F | 15 |
Примеры:
- перевод в шестнадцатеричную систему:
- перевод в восьмеричную систему:
Перевод из шестнадцатеричной (восьмеричной) системы в двоичную
Обычно программы в машинных кодах записаны в шестнадцатеричной системе счисления, реже — в восьмеричной. При необходимости отдельные числа такой программы записываются в двоичном коде, например, при рассмотрении форматов регистров, кодов операции команд и т.п. В этом случае нужен обратный перевод из шестнадцатеричной (восьмеричной) системы счисления в двоичную по следующему правилу.
Каждая цифра (без всяких сокращений!) шестнадцатеричного ( восьмеричного ) числа заменяется одной двоичной группой из четырех ( трех ) двоичных знаков (табл. 11.2).
Примеры:
- для шестнадцатеричного числа: ;
- для восьмеричного числа: .
Как показано в примерах, крайние нули слева и справа при желании можно не писать, но такое сокращение делается уже после перевода в двоичную систему.
Двоичное число — Простая английская Википедия, бесплатная энциклопедия
Двоичная система счисления — это способ записывать числа, используя только две цифры: 0 и 1. Они используются в компьютерах как последовательность «выключено» и «включено» переключатели. В двоичном формате значение разряда каждой цифры вдвое больше, чем у следующей цифры справа (поскольку каждая цифра содержит два значения). В десятичной системе, которую обычно используют люди, каждая цифра содержит десять значений, а разрядное значение увеличивается в десять раз (единицы, десятки, сотни и т. Д.)). В любом случае разряд самой правой цифры равен 1.
0 | 0000 | 0 + 0 + 0 + 0 |
1 | 0001 | 0 + 0 + 0 + 1 |
2 | 0010 | 0 + 0 + 2 + 0 |
3 | 0011 | 0 + 0 + 2 + 1 |
4 | 00100 | 0 + 0 + 4 + 0 + 0 |
5 | 00101 | 0 + 0 + 4 + 0 + 1 |
6 | 00110 | 0 + 0 + 4 + 2 + 0 |
7 | 00111 | 0 + 0 + 4 + 2 + 1 |
8 | 01000 | 0 + 8 + 0 + 0 + 0 |
9 | 01001 | 0 + 8 + 0 + 0 + 1 |
10 | 01010 | 0 + 8 + 0 + 2 + 0 |
11 | 01011 | 0 + 8 + 0 + 2 + 1 |
12 | 01100 | 0 + 8 + 4 + 0 + 0 |
13 | 01101 | 0 + 8 + 4 + 0 + 1 |
14 | 01110 | 0 + 8 + 4 + 2 + 0 |
15 | 01111 | 0 + 8 + 4 + 2 + 1 |
16 | 10000 | 16 + 0 + 0 + 0 + 0 |
17 | 10001 | 16 + 0 + 0 + 0 + 1 |
18 | 10010 | 16 + 0 + 0 + 2 + 0 |
19 | 10011 | 16 + 0 + 0 + 2 + 1 |
20 | 10100 | 16 + 0 + 4 + 0 + 0 |
21 | 10101 | 16 + 0 + 4 + 0 + 1 |
22 | 10110 | 16 + 0 + 4 + 2 + 0 |
23 | 10111 | 16 + 0 + 4 + 2 + 1 |
24 | 11000 | 16 + 8 + 0 + 0 + 0 |
25 | 11001 | 16 + 8 + 0 + 0 + 1 |
26 | 11010 | 16 + 8 + 0 + 2 + 0 |
27 | 11011 | 16 + 8 + 0 + 2 + 1 |
28 | 11100 | 16 + 8 + 4 + 0 + 0 |
29 | 11101 | 16 + 8 + 4 + 0 + 1 |
30 | 11110 | 16 + 8 + 4 + 2 + 0 |
31 | 11111 | 16 + 8 + 4 + 2 + 1 |
Пример: 10110011
- Значение последней единицы (крайняя правая позиция) равно 1.
- Разрядная 1 перед ней равна 2.
- Разрядный знак 0 перед этим равен 4.
- Разрядное значение 0 перед этим равно 8.
- Разрядная цифра перед ним равна 16.
- Разрядная 1 перед ней 32.
- Разрядный знак 0 перед ним равен 64.
- Разрядное значение 1 перед этим равно 128.
Если сложить все разрядные значения с 1, получится 1 + 2 + 16 + 32 + 128 = 179.Для удобства двоичные цифры (для краткости биты) обычно группируются в две группы по 4 бита. Это 8 бит, или байт, и записывается в шестнадцатеричной системе счисления. Это будет показано как 1011 0011 = B3.
Арифметика — это способ сложения двух или более двоичных чисел. В двоичной арифметике есть четыре правила. Они есть:
0 + 0 = 0
1 + 0 = 1
1 + 1 = 10 (2)
1 + 1 + 1 = 11 (3)
Это потому, что в двоичном формате только две цифры; 0 и 1.Из-за этого числа два и три нужно представлять как-то иначе. Вот как рассчитывается двоичное значение для трех:
Колонна | Десятичное значение | двоичный |
---|---|---|
1 | 2 | 1 |
2 | 1 | 1 |
Это показывает, что двоичное значение будет 11 .
Страница из «Explication de l’Arithmétique Binaire» , Лейбница, 1703 г.
Binary — это система счисления, которая представляет собой последовательность единиц и нулей, которые означают (для компьютеров) включение и выключение.Это основание 2, а наша система счисления (десятичная) — 10, где используется 10 цифр, а не 2.
В 1817 году Джон Лесли (шотландский математик) предположил, что примитивные общества, возможно, развили счет с помощью предметов (например, гальки) еще до того, как у них были даже слова, чтобы описать общее количество задействованных объектов. Следующим шагом в эволюции подсчета было бы открытие того, что эту кучу объектов можно уменьшить до двух куч равных размеров (оставив либо 0 объектов, либо только остаток от 1).Затем этот остаток (нечетное = 1 или четное = 0) будет записан, и одна из стопок будет удалена, а вторая стопка будет затем разделена на две части. Если вы запишите остаток, оставшийся после того, как исходная стопка была разделена на две части, и продолжите повторять этот процесс; разделив одну из оставшихся стопок пополам, а затем удалив одну из этих стопок, и продолжив разделение оставшейся стопки на две стопки, вы в конечном итоге останетесь с 2 или 3 объектами. Если вы запишете оставшийся остаток (нечетное = 1 или четное = 0) в конце каждого сокращения, у вас в конечном итоге останется итоговая запись из 1 и 0, которая будет двоичным представлением вашей исходной кучи объектов.Таким образом, вместо того, чтобы представлять исходную кучу объектов повторяющимся числом, метками или маркерами (которые для больших чисел могут быть довольно длинными), вы сократили кучу объектов до более компактного двоичного числа. Если вам нужно восстановить исходное количество объектов из этого суммированного двоичного числа, это достаточно просто сделать; просто начав с первой метки подсчета, а затем удвоив ее и добавив единицу, если следующее двоичное число содержит 1, и затем продолжая процесс до тех пор, пока не будет достигнут конец двоичного числа.Таким образом, двоичный счет может быть как самым старым, так и самым современным методом счета.
Двоичная система была изобретена многими людьми, но современную двоичную систему счисления приписывают Готфриду Лейбницу в 1679 году, немецкому математику. Двоичный формат используется почти во всем электронном; от калькуляторов до суперкомпьютеров. Машинный код — это двоичные цифры.
.
Десятичный преобразователь в двоичный
От
Двоичный Десятичный Шестнадцатеричный
Чтобы
Двоичный Десятичный Шестнадцатеричный
Преобразование двоичного числа в десятичное ►
Как преобразовать десятичное число в двоичное
Шаг преобразования:
- Разделите число на 2.
- Получить целое частное для следующей итерации.
- Получить остаток от двоичной цифры.
- Повторяйте эти шаги до тех пор, пока частное не станет равным 0.
Пример # 1
Преобразование 13 10 в двоичное:
Подразделение по 2 | Частное | остаток | Бит # |
---|---|---|---|
13/2 | 6 | 1 | 0 |
6/2 | 3 | 0 | 1 |
3/2 | 1 | 1 | 2 |
1/2 | 0 | 1 | 3 |
Итак 13 10 = 1101 2
Пример # 2
Преобразование 174 10 в двоичное:
Подразделение по 2 | Частное | остаток | Бит # |
---|---|---|---|
174/2 | 87 | 0 | 0 |
87/2 | 43 | 1 | 1 |
43/2 | 21 | 1 | 2 |
21/2 | 10 | 1 | 3 |
10/2 | 5 | 0 | 4 |
5/2 | 2 | 1 | 5 |
2/2 | 1 | 0 | 6 |
1/2 | 0 | 1 | 7 |
Итак 174 10 = 10101110 2
Таблица преобразования десятичных чисел в двоичные
Десятичное Число | Двоичное Число | Hex Число |
---|---|---|
0 | 0 | 0 |
1 | 1 | 1 |
2 | 10 | 2 |
3 | 11 | 3 |
4 | 100 | 4 |
5 | 101 | 5 |
6 | 110 | 6 |
7 | 111 | 7 |
8 | 1000 | 8 |
9 | 1001 | 9 |
10 | 1010 | A |
11 | 1011 | B |
12 | 1100 | С |
13 | 1101 | D |
14 | 1110 | E |
15 | 1111 | F |
16 | 10000 | 10 |
17 | 10001 | 11 |
18 | 10010 | 12 |
19 | 10011 | 13 |
20 | 10100 | 14 |
21 | 10101 | 15 |
22 | 10110 | 16 |
23 | 10111 | 17 |
24 | 11000 | 18 |
25 | 11001 | 19 |
26 | 11010 | 1A |
27 | 11011 | 1Б |
28 | 11100 | 1С |
29 | 11101 | 1D |
30 | 11110 | 1E |
31 | 11111 | 1F |
32 | 100000 | 20 |
64 | 1000000 | 40 |
128 | 10000000 | 80 |
256 | 100000000 | 100 |
См. Также
Напишите, как улучшить эту страницу
ПРЕОБРАЗОВАНИЕ НОМЕРА
СТОЛЫ БЫСТРЫЙ
Этот веб-сайт использует файлы cookie для улучшения вашего опыта, анализа трафика и отображения рекламы.Учить больше
.
Двоичный преобразователь в десятичный
От
Двоичный Десятичный Шестнадцатеричный
Чтобы
Двоичный Десятичный Шестнадцатеричный
Преобразователь десятичной системы в двоичную ►
Как преобразовать двоичное в десятичное
Для двоичного числа с n цифрами:
d n-1 … d 3 d 2 d 1 d 0
Десятичное число равно сумме двоичных цифр (d n ), умноженной на их степень двойки (2 n ):
десятичное = d 0 × 2 0 + d 1 × 2 1 + d 2 × 2 2 +…
Пример
Найдите десятичное значение 111001 2 :
двоичное число: | 1 | 1 | 1 | 0 | 0 | 1 |
---|---|---|---|---|---|---|
степень 2: | 2 5 | 2 4 | 2 3 | 2 2 | 2 1 | 2 0 |
111001 2 = 1⋅2 5 + 1⋅2 4 + 1⋅2 3 + 0⋅2 2 + 0⋅2 1 + 1⋅2 0 = 57 10
Таблица преобразования двоичного числа в десятичное
Двоичный Число | Десятичное число Число | Hex Число |
---|---|---|
0 | 0 | 0 |
1 | 1 | 1 |
10 | 2 | 2 |
11 | 3 | 3 |
100 | 4 | 4 |
101 | 5 | 5 |
110 | 6 | 6 |
111 | 7 | 7 |
1000 | 8 | 8 |
1001 | 9 | 9 |
1010 | 10 | А |
1011 | 11 | B |
1100 | 12 | С |
1101 | 13 | D |
1110 | 14 | E |
1111 | 15 | F |
10000 | 16 | 10 |
10001 | 17 | 11 |
10010 | 18 | 12 |
10011 | 19 | 13 |
10100 | 20 | 14 |
10101 | 21 | 15 |
10110 | 22 | 16 |
10111 | 23 | 17 |
11000 | 24 | 18 |
11001 | 25 | 19 |
11010 | 26 | 1A |
11011 | 27 | 1Б |
11100 | 28 | 1С |
11101 | 29 | 1D |
11110 | 30 | 1E |
11111 | 31 | 1 этаж |
100000 | 32 | 20 |
1000000 | 64 | 40 |
10000000 | 128 | 80 |
100000000 | 256 | 100 |
См. Также
.
Двоичный калькулятор
Используйте следующие калькуляторы для выполнения сложения, вычитания, умножения или деления двух двоичных значений, а также для преобразования двоичных значений в десятичные значения и наоборот.
Двоичное вычисление — сложение, вычитание, умножение или деление
Преобразовать двоичное значение в десятичное
Преобразовать десятичное значение в двоичное
Калькулятор RelatedHex | Калькулятор IP-подсети
Двоичная система счисления — это система счисления, которая функционирует практически идентично десятичной системе счисления, с которой люди, вероятно, более знакомы.В то время как в десятичной системе счисления используется число 10 в качестве основы, в двоичной системе используется число 2. Кроме того, хотя в десятичной системе используются цифры от 0 до 9, в двоичной системе используются только 0 и 1, и каждая цифра называется битом. . Помимо этих различий, такие операции, как сложение, вычитание, умножение и деление, все вычисляются по тем же правилам, что и десятичная система.
Практически все современные технологии и компьютеры используют двоичную систему из-за простоты ее реализации в цифровых схемах с использованием логических вентилей.Намного проще разработать оборудование, которое должно определять только два состояния: включено и выключено (или истина / ложь, присутствует / отсутствует и т. Д.). Использование десятичной системы требует оборудования, которое может определять 10 состояний для цифр от 0 до 9, и это более сложно.
Ниже приведены некоторые типичные преобразования между двоичными и десятичными значениями:
Двоичное / десятичное преобразование
Десятичное | Двоичное |
0 | 0 |
1 | 1 |
2 | 10 |
3 | 11 |
4 | 100 |
7 | 111 |
8 | 1000 |
10 | 1010 |
16 | 10000 |
20 | 10100 |
Работа с двоичным кодом поначалу может показаться запутанной, понимание того, что каждое двоичное разрядное значение представляет 2 n , так же, как каждое десятичное место представляет 10 n , должно помочь уточнить.Возьмем, к примеру, число 8. В десятичной системе счисления 8 находится в первом десятичном разряде слева от десятичной точки, что означает 10 0 место. По сути это означает:
8 × 10 0 = 8 × 1 = 8
Используя число 18 для сравнения:
(1 × 10 1 ) + (8 × 10 0 ) = 10 + 8 = 18
В двоичном формате 8 отображается как 1000. При чтении справа налево первый 0 представляет 2 0 , второй 2 1 , третий 2 2 и четвертый 2 3 ; точно так же, как десятичная система, за исключением того, что с основанием 2, а не 10.Поскольку 2 3 = 8, в его позиции вводится 1, что дает 1000. Используя 18 или 10010 в качестве примера:
18 = 16 + 2 = 2 4 + 2 1
10010 = (1 × 2 4 ) + (0 × 2 3 ) + (0 × 2 2 ) + (1 × 2 1 ) + (0 × 2 0 ) = 18
Пошаговый процесс преобразования десятичной системы в двоичную:
- Найдите наибольшую степень двойки, лежащую в пределах данного числа
- Вычтите это значение из заданного числа
- Найдите наибольшую степень двойки в остатке, найденном на шаге 2
- Повторять, пока не останется остаток
- Введите 1 для каждого найденного двоичного разряда и 0 для остальных
Снова используя целевое значение 18 в качестве примера, ниже представлен другой способ визуализировать это:
2 n | 2 4 | 2 3 | 2 2 | 2 1 | 2 0 |
Экземпляры в пределах 18 | 1 | 0 | 0 | 1 | 0 |
Цель: 18 | 18 — 16 = 2 | → | 2 — 2 = 0 |
Преобразование из двоичной системы в десятичную проще .Определите все значения разряда, в которых встречается 1, и найдите сумму значений.
Пример: 10111 = (1 × 2 4 ) + (0 × 2 3 ) + (1 × 2 2 ) + (1 × 2 1 ) + (1 × 2 0 ) = 23
Отсюда: 16 + 4 + 2 + 1 = 23.
Сложение двоичных файлов
Двоичное сложение следует тем же правилам, что и сложение в десятичной системе, за исключением того, что вместо переноса 1, когда добавленные значения равны 10, перенос происходит, когда результат сложения равен 2.Обратитесь к примеру ниже для пояснения.
Обратите внимание, что в двоичной системе:
- 0 + 0 = 0
0 + 1 = 1
1 + 0 = 1
1 + 1 = 0, переносим 1, т.е. 10
EX:
1 0 | 1 1 | 1 1 | 1 0 | 1 | ||
+ | 1 | 0 | 1 | 1 | 1 | |
= | 1 | 0 | 0 | 1 | 0 | 0 |
Единственная реальная разница между двоичным и десятичным сложением состоит в том, что значение 2 в двоичная система эквивалентна 10 в десятичной системе.Обратите внимание, что единицы с надстрочным индексом представляют собой перенесенные цифры. Распространенная ошибка, на которую следует обратить внимание при выполнении двоичного сложения, — это случай, когда 1 + 1 = 0 также имеет 1, перенесенную из предыдущего столбца вправо. Значение внизу должно быть равно 1 из перенесенного на 1, а не 0. Это можно увидеть в третьем столбце справа в приведенном выше примере.
Двоичное вычитание
Подобно двоичному сложению, есть небольшая разница между двоичным и десятичным вычитанием, за исключением тех, которые возникают из-за использования только цифр 0 и 1.Заимствование происходит в любом случае, когда вычитаемое число больше, чем число, из которого оно вычитается. При бинарном вычитании заимствование необходимо только тогда, когда 1 вычитается из 0. Когда это происходит, 0 в столбце заимствования по существу становится «2» (изменение 0-1 на 2-1 = 1), в то время как уменьшение 1 в столбце, из которого заимствуется, на 1. Если следующий столбец также равен 0, заимствование должно происходить из каждого последующего столбца, пока столбец со значением 1 не может быть уменьшен до 0.Обратитесь к примеру ниже для пояснения.
Обратите внимание, что в двоичной системе:
- 0 — 0 = 0
0-1 = 1, заимствовать 1, в результате чего -1 переносится на
1 — 0 = 1
1-1 = 0
EX1:
-1 1 | 2 0 | 1 | 1 | 1 | ||
— | 0 | 1 | 1 | 0 | 1 | |
= | 0 | 1 | 0 | 1 | 0 |
EX2:
-1 1 | 2-1 0 | 0 | ||
— | 0 | 1 | 1 | |
= | 0 | 0 | 1 |
Обратите внимание, что отображаемые верхние индексы — это изменения, которые происходят с каждым битом при заимствовании.Столбец заимствования по существу получает 2 от заимствования, а столбец, из которого заимствовано, уменьшается на 1.
Двоичное умножение
Двоичное умножение, возможно, проще, чем его десятичный аналог. Поскольку используются только значения 0 и 1, результаты, которые должны быть добавлены, либо те же, что и для первого члена, либо 0. Обратите внимание, что в каждой последующей строке необходимо добавить заполнитель 0, а значение сдвинуть влево, как в десятичном умножении. Сложность двоичного умножения возникает из-за утомительного двоичного сложения, зависящего от количества битов в каждом члене.Обратитесь к примеру ниже для пояснения.
Обратите внимание, что в двоичной системе:
- 0 × 0 = 0
0 × 1 = 0
1 × 0 = 0
1 × 1 = 1
EX:
1 | 0 | 1 | 1 | 1 | |||
× | 1 | 1 | |||||
900 | 0 | 1 | 1 | 1 | |||
+ | 1 | 0 | 1 | 1 | 1 | 0 | |
= | 1 | 0 | 0 | 0 | 1 | 0 | 1 |
Как видно из приведенного выше примера, процесс двоичного умножения такой же, как и при десятичном умножении.Обратите внимание, что заполнитель 0 записан во второй строке. Обычно заполнитель 0 визуально не присутствует при десятичном умножении. Хотя то же самое можно сделать в этом примере (с предполагаемым заполнителем 0, а не явным), он включен в этот пример, потому что 0 актуален для любого двоичного калькулятора сложения / вычитания, подобного тому, который представлен на этой странице. Без отображения 0 можно было бы ошибиться, исключив 0 при добавлении двоичных значений, показанных выше.Еще раз обратите внимание, что в двоичной системе любой 0 справа от 1 имеет значение, а любой 0 слева от последней единицы в значении — нет.
EX:
- 1 0 1 0 1 1 0 0
= 0 0 1 0 1 0 1 1 0 0
≠ 1 0 1 0 1 1 0 0 0 0
Бинарный отдел
Процесс двоичного деления аналогичен длинному делению в десятичной системе счисления. Дивиденд по-прежнему делится на делитель таким же образом, с единственной существенной разницей, заключающейся в использовании двоичного, а не десятичного вычитания.Обратите внимание, что хорошее понимание двоичного вычитания важно для проведения двоичного деления. Обратитесь к примеру ниже, а также к разделу двоичного вычитания для пояснения.
.