Системы счисления | Hexlet Guides
В этом гайде разберемся, что такое системы счисления, для чего программисты используют непривычные способы для записи чисел и как их понимать.
Что такое системы счисления
С давних пор людям нужно было записывать числа. В торговле числа нужны, чтобы знать, сколько товаров есть на складе и сколько денег принесла сделка. Записи о положении небесных тел помогли шумерам составить первый календарь, а календарь, в свою очередь, пригодился, чтобы заранее готовиться к посевным и сбору урожая. Строительные сметы, переписи населения, распределение наследства — числа оказались очень востребованными даже в самых древних государствах.
Так что люди научились записывать числа в незапамятные времена. Небольшие числа легко записывались зарубками или насечками, но если в числе несколько знаков, требуется иная система записи. Эту проблему в разных странах решали по-разному.
Сейчас разные способы записи чисел называются системами счисления.
Систем счисления было придумано довольно много, и даже в наши дни мы используем две системы, возникшие в далёкой древности. Из Древнего Рима к нам пришла римская система счисления, где цифры обозначаются буквами латинского алфавита. За основу римляне взяли количество пальцев на одной руке — 5, и на двух руках — 10. Числа 1, 5 и 10 в римской системе обозначаются буквами I, V и X, и с помощью них можно записать любое число от 1 до 49. Например, VII это 7, а XIX — 19.
От Древних Шумеров мы научились делить дроби на шестьдесят частей. Именно из-за них в нашем часе 60 минут, а в минуте 60 секунд. Шумерская система счисления так и называется — шестидесятеричная. Но, конечно, наиболее привычной выглядит численная запись в системе, которую придумали в Древней Индии. Сейчас ее называют арабской или десятичной системой счисления.
От десятичных чисел к двоичным
Разберемся, как устроена десятичная система, на примере произвольного большого числа.
Это четырехзначное число, потому что оно состоит из четырёх цифр. И, поскольку речь идёт о десятичной системе, мы можем использовать десять различных цифр.
Величина, которая скрывается за каждой цифрой, зависит от её позиции, поэтому такую систему счисления называют также и позиционной. Справа мы записываем самые младшие значения — единицы, слева от них десятки, затем сотни, и так далее. Запись 1702 означает буквально следующее.
Цифры, записанные в соседних позициях, различаются в десять раз — это и есть десятичная система. Однако, как мы говорили ранее, привычная нам десятичная система — далеко не единственная. Однако, опираясь на неё, нам будет проще понять принципы работы других систем счисления. Например, для записи того же самого числа 1702 в двоичной системе надо придерживаться тех же правил, но вместо десяти цифр нам потребуется всего две — 0 и 1.
Цифры, записанные в соседних позициях, будут различаться не в десять раз, а в два. То есть там, где в десятичной системе мы видим 1, 10, 100, 1 000, 10 000, в двоичной будут числа 1, 2, 4, 8, 16 и так далее.
Это очень большое двоичное число. Давайте запишем его в привычной форме:
Это число могло бы быть очень большим десятичным числом, потому что состоит из тех же цифр. Чтобы отличать двоичные числа от десятичных, в качестве индекса у них указывают основание системы счисления, то есть 2.
Это особенно важно, когда в тексте одновременно встречаются десятичные и двоичные числа.
Зачем нужна двоичная система
Двоичная система выглядит очень непривычно и числа, записанные в ней, получаются огромными. Зачем она вообще нужна? Разве компьютеры не могут работать с привычной нам десятичной системой?
Оказывается, когда-то они именно так и работали. Самый первый компьютер ENIAC, разработанный в 1945 году, хранил числа в десятичной системе счисления. Для хранения одной цифры применялась схема, которая называется кольцевым регистром, она состояла из десяти радиоламп.
Чтобы записать все числа до миллиона — от 0 до 999 999 — надо шесть цифр, значит, для хранения таких чисел нужно целых 60 ламп.
Инженеры заметили, что если бы они кодировали числа в двоичной системе, то для хранения таких же больших чисел им бы потребовалось всего двадцать радиоламп — в три раза меньше!
Первое преимущество двоичных чисел — простота схем. Второе, и не менее важное — быстродействие. Сложение чисел, хранящихся в кольцевом регистре, требует до десяти тактов процессора на каждую операцию. Сложение двоичных чисел можно выполнить за один такт — то есть в десять раз быстрее.
Группа инженеров, создавших первый компьютер, в 1946 году опубликовала статью, где обосновала преимущество двоичной системы для представления чисел в компьютерах. Первой среди авторов была указана фамилия американского математика Джона фон Неймана. Поэтому сейчас принципы проектирования компьютеров называются архитектурой фон Неймана, хотя это не совсем справедливо по отношению к другим изобретателям компьютера.
При разработке программы с двоичной записью столкнуться довольно сложно: компьютер в подавляющем большинстве случаев сам переводит двоичные числа в десятичные и обратно. Можно долго писать код, даже не подозревая, что внутри компьютера данные хранятся каким-то особым образом.
Зачем изучать двоичную систему, если компьютер делает всю работу за нас? Иногда программистам приходится писать программы, которые работают напрямую с оборудованием. Например, разработчики игр должны знать, как работают видеокарты, чтобы сделать компьютерную графику быстрее. А разработчики операционных систем понимают, как устроены диски, чтобы надежно хранить данные.
Программы, которые работают с железом напрямую, называются системными или низкоуровневыми. Для их создания разработчик должен понимать, как устроен компьютер. Поэтому изучение систем счисления позволяет программисту расширить свой профессиональный диапазон и стать специалистом широкого профиля.
Поэтому для того, чтобы писать сложные системные программы, нужно понимать, как устроена двоичная система счисления.
Как переводить двоичные числа в десятичные
Разберемся, как быстро переводить двоичные числа в десятичные. Для примера потребуется достаточно большое двоичное число, чтобы мы не могли вычислить его на пальцах.
Запишем его в математической записи, помня, что вместо основания 10, мы используем основание 2.
Из этого примера видно, что у всех слагаемых только два множителя — 0 и 1. Слагаемые с множителем 0 равны нулю, поэтому их можно отбросить, оставив только слагаемые с множителем 1.
У слагаемых с множителем 1 этот множитель можно не записывать.
Теперь нетрудно посчитать сумму.
Вывод: число 11010 в двоичной записи — то же самое, что 26 в десятичной.
Ещё раз повторим, как перевести двоичное число в десятичное.
- Записать число в математическом виде
- Отбросить слагаемые с множителем 0
- Сложить результат
Программисты иногда запоминают некоторые степени числа два, чтобы уметь оценивать порядок двоичных чисел.
Двоичное число | Степень 2 | Десятичное число |
---|---|---|
12 | 20 | 1 |
102 | 21 | 2 |
1002 | 22 | 4 |
10002 | 23 | 8 |
1 00002 | 24 | 16 |
10 00002 | 25 | 32 |
100 00002 | 26 | 64 |
1000 00002 | 27 | 128 |
1 0000 00002 | 28 | 256 |
10 0000 00002 | 29 | 512 |
100 0000 00002 | 2 | 1 024 |
1 0000 0000 0000 00002 | 216 | 65 536 |
1 0000 0000 0000 0000 0000 00002 | 224 | 16 777 216 |
1 0000 0000 0000 0000 0000 0000 0000 00002 | 232 | 4 294 967 296 |
С помощью этой таблицы можно переводить числа из двоичной системы в десятичную практически «в уме».
Как переводить десятичные числа в двоичные
Эта задача похожа на математическую загадку, и её можно встретить на олимпиаде для школьников.
Чтобы научиться её решать, давайте ещё раз посмотрим на первые натуральные числа в двоичной и десятичной записи.
Десятичное число | Двоичное число |
---|---|
1 | 12 |
2 | 102 |
3 | 112 |
4 | 1002 |
5 | 1012 |
1102 | |
7 | 1112 |
8 | 10002 |
9 | 10012 |
Обратим внимание на следующую закономерность: все чётные числа — 2, 4, 6 и 8 — в двоичной записи заканчиваются на 0. Все нечётные числа 1, 3, 5, 7 и 9 — на 1. Этому есть простое объяснение — в двоичной записи число 2 это как 10 в десятичной. Если двоичное число делится на два, оно круглое. Математики говорят, что чётные числа делятся на 2 без остатка (или с остатком 0), а нечётные — с остатком 1:
- при делении 4 на 2 остаток 0;
- при делении 5 на 2 остаток 1;
- при делении 6 на 2 остаток 0;
- при делении 9 на 2 остаток 1.
Попробуем перевести десятичное число 26 в двоичную систему. Для этого используем деление уголком на 2.
Если 26 разделить на 2, то в результате получится 13, остаток от деления 0. Продолжаем дальше:
- 13 разделить на 2, в результате получится 6, остаток от деления 1;
- 6 разделить на 2, в результате получится 3, остаток от деления 0;
- 3 разделить на 2, в результате получится 1, остаток от деления 1;
- 1 разделить на 2, в результате получится 0, остаток от деления 1;
Из остатков 1, 1, 0, 1 и 0 складывается нужная нам двоичная запись.
Шестнадцатеричная система счисления
Мы знаем, что компьютер использует числа для представления любой информации. Например, цвета хранятся в виде трёх чисел — яркости красной, зелёной и синей компонентов цвета. На каждый компонент отводится восемь двоичных позиций, поэтому максимальная яркость компонента равна 11111111₂ или 255. Цвет целиком описывается большим 24-х разрядным двоичным числом, например, 11111010 10000000 01110010. Это цвет Salmon из таблицы цветов HTML, он же лососевый цвет.
Старшие восемь позиций отводятся для хранения красного компонента, средние восемь — зелёного, и младшие восемь — синего. Мы видим, что такая запись очень громоздка и неудобна.
Кажется, что цвет удобнее записать как десятичное число 16416882. Хотя оно занимает меньше места, по нему трудно понять, какова яркость каждого компонента.
Чтобы записывать большие двоичные числа, программисты придумали использовать шестнадцатеричную систему счисления:
- В десятичной системе десять цифр, а в шестнадцатеричной — шестнадцать
- В десятичной системе соседние позиции отличаются в десять раз, а в шестнадцатеричной — в шестнадцать раз
Как и в случае с двоичной системой, цифры 0, 1, 2, 3, 4, 5, 6, 7, 8 и 9 заимствуются из десятичной системы.
Основание 16 | Основание 10 | Основание 2 |
---|---|---|
0 | 0 | 0 |
1 | 1 | 1 |
2 | 2 | |
3 | 3 | 11 |
4 | 4 | 100 |
5 | 5 | 101 |
6 | 6 | 110 |
7 | 7 | 111 |
8 | 8 | 1000 |
9 | 9 | 1001 |
A | 10 | 1010 |
B | 11 | 1011 |
C | 12 | 1100 |
D | 13 | 1101 |
E | 14 | 1110 |
F | 15 | 1111 |
Шестнадцатеричная система счисления хороша тем, что группа из четырёх двоичных цифр кодируется одной шестнадцатеричной цифрой. Таким образом, лососевый цвет выглядит как:
В шестнадцатеричной системе счисления он записывается так:
Вначале трудно понять, каков порядок у шестнадцатеричного числа FA. Как и в случае с двоичными числами, программисты обычно помнят порядки круглых шестнадцатеричных чисел. Но можно не запоминать, а подглядывать в эту таблицу:
Шестнадцатеричное число | Десятичное число |
---|---|
1016 | 16 |
2016 | 32 |
3016 | 48 |
4016 | 64 |
5016 | 80 |
6016 | 96 |
7016 | 112 |
8016 | 128 |
9016 | 144 |
A016 | 160 |
B016 | 176 |
C016 | 192 |
D016 | 208 |
E016 | 224 |
F016 | 240 |
10016 | 256 |
100016 | 4 096 |
1 000016 | 65 536 |
10 000016 | 1 048 576 |
100 000016 | 16 777 216 |
1000 000016 | 268 435 456 |
1 0000 000016 | 4 294 967 296 |
Чтобы переводить числа из десятичной системы в шестнадцатеричную и обратно, двоичное представление можно использовать как промежуточное. Часто это самый простой способ: двоичное и шестнадцатеричное представления без труда переводятся друг в друга.
Восьмеричная система счисления
Восьмеричная система когда-то использовалась наравне с шестнадцатеричной. Из названия понятно, что она использует всего восемь цифр: 0, 1, 2, 3, 4, 5, 6 и 7. Восьмеричная система подходит для представления шести-, девяти- и двенадцатиразрядных двоичных чисел.
Такие числа встречаются нечасто. Один из самых известных примеров использования восьмеричных чисел — права доступа в операционной системе UNIX. Они записываются девятизначным двоичным числом, например 110100100 или 111101100. Запоминать и передавать такие числа неудобно, поэтому программисты предпочитают восьмеричную систему счисления, и записывают права доступа в виде 644 или 754.
Популярные операционные системы Linux и MacOS берут своё начало в UNIX, поэтому там права доступа также задаются восьмеричным числом.
Пользователи UNIX используют команду stat, чтобы узнать права доступа, и команду chmod, чтобы изменить их. На рисунке вы видите, что команды stat и chmod используют восьмеричные числа. Подробный рассказ об этих командах выходит за рамки нашей статьи. Узнаете больше о правах доступа, и о том, что означают эти числа, можно изучив командную строку Linux.
Подводя итог, можно сказать, что восьмеричные числа сейчас используются редко. В подавляющем большинстве случаев программисты используют шестнадцатеричную запись.
Конвертация чисел в программах
Языки программирования умеют работать с числами, записанными в разных системах счисления, и переводить их из одной системы в другую. Для примера рассмотрим работу с разными системами счисления на Python и JavaScript.
Python
Чтобы записать в Python двоичное число, добавьте перед ним префикс 0b. Десятичное число 26 можно записать в виде 0b11010. У шестнадцатеричных чисел префикс 0x, а у восьмеричных — 0o.
print(0b11010) # => 26 print(0x1a) # => 26 print(0o32) # => 26
Во всех случаях, чтобы записать число, мы пишем сначала цифру ноль «0», а затем букву, которая определяет систему счисления. Буква «b» — первая в слове binary (двоичный), а буква «o» — в слове octal (восьмеричный). Буква «x» выбивается из общего правила — это третья буква в слове hexadecimal (шестнадцатеричный).
Функции bin()
, hex()
и oct()
преобразуют число в двоичную, шестнадцатеричную и восьмеричную системы.
print(bin(26)) # => '0b11010' print(hex(26)) # => '0x1a' print(oct(26)) # => '0o32'
Благодаря префиксной записи и функциям bin()
, hex()
и oct()
, мы можем преобразовывать числа из любой системы в любую.
print(hex(0o32)) // >= '0x1a'
JavaScript
В JavaScript для представления чисел используются те же самые префиксы, что и в Python. 0b11010, 0x1a и 0o32 — записи числа 26 в двоичной, шестнадцатеричной и восьмеричной системах счисления.
console.log(0b11010) // => 26 console.log(0x1a) // => 26 console.log(0o32) // => 26
Для преобразования чисел в другую систему счисления нужно вызывать метод toString()
, передав в качестве параметра основание системы.
Обычно в JavaScript мы можем вызвать метод у объекта с помощью точки. Например, если мы сохранили число в переменной i
, мы можем узнать его шестнадцатеричное представление, вызвав метод i.toString(16)
. Но мы не можем вызывать метод у числа 2 — 2.toString(16)
— потому что в JavaScript точка в записи чисел разделяет целую и дробную части. Если дробная часть равна нулю, её можно не записывать, поэтому «2.» означает то же самое, что и «2.0».
В примере вы видите три корректных способа обойти эту проблему, и вызвать метод toString()
у числа 26.
console.log((26).toString(2)) // => '11010' console.log(26..toString(16)) // => '1a' console.log(26 .toString(8)) // => '32'
Сервисы для перевода из системы в систему
Существует множество сервисов для перевода чисел из системы в систему. Это умеет даже Google. Чтобы перевести двоичное число, например, 11010 в десятичную систему, надо ввести запрос 0b11010 decimal.
Чтобы перевести десятичное число, например, 26 в двоичную систему, надо ввести запрос 26 binary.
Обратите внимание, что Google использует префикс 0b, чтобы отличать двоичные числа от десятичных.
Чтобы перевести десятичное число 137 в шестнадцатеричную систему, введите запрос 137 hex.
Чтобы перевести шестнадцатеричное число 2BAD в десятичную систему, введите запрос 0x2BAD decimal.
Google использует префикс 0x для того, чтобы отличать шестнадцатеричные числа от всех прочих. Чтобы перевести число 121 в восьмеричную систему, введите запрос 121 octal.
Чтобы перевести число обратно, введите в строке поиска запрос 0o171 decimal.
Мы видим, что Google для представления чисел в двоичной, шестнадцатеричной и восьмеричной системах счисления использует такие же префиксы, которые мы видели в примерах на Python и JavaScript.
Заключение
Люди изобрели разные способы записывать числа. Мы называем их системами счисления. Привычный для нас способ записи называется десятичной системой счисления.
Компьютеры, которые работали в десятичной системе, оказались сложными и медленными. Хранение чисел в двоичной системе позволило упростить схемы и ускорить работу компьютеров.
Обычно нам не нужно знать, как именно компьютер хранит числа, потому что он умеет переводить их в привычную нам форму. Но если мы хотим разрабатывать программы, которые работают с оборудованием напрямую — системные утилиты или компьютерные игры, — нужно разобраться, как устроены двоичная и шестнадцатеричная системы.
Существует ряд алгоритмов, которые помогают перевести число из одной системы в другую, но они достаточно запутанные. Проще использовать Google.
Двоичная запись чисел очень громоздкая, поэтому программисты предпочитают записывать числа в шестнадцатеричной системе счисления. Восьмеричная запись чисел сейчас используется очень редко.
Вы можете конвертировать числа из системы в систему на своём любимом языке программирования.
СИСТЕМЫ СЧИСЛЕНИЯ | Наука и жизнь
В повседневной жизни мы, как правило, пользуемся десятичной системой счисления. Но это лишь одна из многих систем, которая получила свое распространение, вероятно, по той причине, что у человека на руках 10 пальцев. Однако эта система не всегда удобна. Так, в вычислительной технике применяется двоичная система счисления.
Системой счисления называют совокупность приемов и правил наименования и обозначения чисел, с помощью которых можно установить взаимно однозначное соответствие между любым числом и его представлением в виде совокупности конечного числа символов.
В разные исторические периоды развития человечества для подсчетов и вычислений использовались те или иные системы счисления. Например, довольно широко была распространена двенадцатеричная система. Многие предметы (ножи, вилки, тарелки, носовые платки и т. д.) и сейчас считают дюжинами. Число месяцев в году двенадцать. Двенадцатеричная система счисления сохранилась в английской системе мер (например, 1 фут = 12 дюймам) и в денежной системе (1 шиллинг = 12 пенсам).
В древнем Вавилоне существовала весьма сложная шестидесятеричная система. Она, как и двенадцатеричная система, в какой-то степени сохранилась и до наших дней (например, в системе измерения времени: 1 час = 60 минутам, 1 минута = 60 секундам, аналогично в системе измерения углов: 1 градус = 60 минутам, 1 минута = 60 секундам).
У некоторых африканских племен была распространена пятеричная система счисления, у ацтеков и народов майя, населявших в течение многих столетий обширные области американского континента, — двадцатеричная система. У некоторых племен Австралии и Полинезии встречалась двоичная система.
Десятичная система возникла в Индии. Впоследствии ее стали называть арабской потому, что она была перенесена в Европу арабами. Цифры, которыми мы теперь пользуемся, — арабские.
В разное время существовали и другие записи цифр, в настоящее время почти забытые. Однако до сих пор мы иногда встречаемся с записью чисел с помощью букв латинского алфавита, например на циферблатах часов, в книгах для обозначения глав или частей, на деловых бумагах для обозначения месяцев и т. д.
В вычислительной технике применяется двоичная система счисления. Основанием этой системы является число 2. Это означает, что для представления любого числа используются только две цифры, 0 и 1. Целесообраз ность применения двоичной системы в цифровой электронике объясняется тем, что базовый элемент любой электронной схемы имеет два состояния, которым можно приписать значения 0 и 1.
Рассмотрим для примера двоичное число 110010. Единицы и нули в двоичном числе называют разрядами (битами), а положение каждого бита определяет величину показателя степени основания 2, причем старший значащий разряд находится в числе слева, как и в десятичной системе, а младший — справа. Таким образом двоичное число 110010 в десятичной системе равно 1x25+1x24 +0x23+0x22 +1x21+0x20 = 50. Обратное преобразование целого числа производится методом последовательного деления на 2 до тех пор, пока частное от деления не станет равным 1. Число в двоичной системе счисления записывается в виде остатков от деления, начиная с последнего частного, справа налево.
Почему компьютеры используют двоичные числа?
Двоичная система счисления используется в вычислительной технике и электронике, потому что это самый простой доступный метод подсчета. Кроме того, двоичная система счисления используется для кодирования всего, от памяти до изображений на экране. Таким образом, он является основой для хранения и передачи данных в большинстве цифровых электронных устройств.
Чтобы понять, как это возможно, важно сначала понять двоичную систему счисления и ее работу.
Двоичные и десятичные числа
Двоичные числа означают одно или другое. Бинарный выбор, например, предполагает выбор одного из двух возможных вариантов. Двоичное число описывается с помощью системы счисления с основанием 2, в которой используются только два разных символа или цифры: обычно 0 и 1. Все числа в системе счисления с основанием 2 обозначаются с использованием одного или другого из этих символов. Каждая отдельная цифра называется битом.
В повседневной жизни мы не считаем по системе счисления по основанию 2. Вместо этого мы используем десятичную систему счисления с основанием 10. Это означает, что у нас есть 10 различных символов или цифр, доступных для представления различных чисел. Мы умеем считать от 0 до 9до того, как у нас закончатся разные символы, и поэтому, когда мы дойдем до десяти, мы представим их, комбинируя 1 и 0.
В нашей системе счисления с основанием 10 одна цифра называется единицей. Вторая цифра — десятка. Таким образом, символ десяти (10) часто означает 1 лот, а не единицы. Двадцать один (21), написанный цифрами, означает две партии по десять и одну единицу. Каждая дополнительная цифра, которую мы добавляем в нашу систему счисления с основанием 10, представляет собой число, кратное десяткам. Например, мы можем обозначить до 99 (девять лотов по десять и девять единиц), прежде чем нам нужно будет добавить еще одну цифру. Десять лотов часто обозначают как 100, и мы называем это число сотней.
Счет в двоичном формате
Система счисления с основанием 2 работает так же, но вместо десяти различных символов, доступных перед добавлением еще одной цифры, их всего два. Это связано с тем, что в двоичной системе мы можем считать только 0 и 1, прежде чем закончатся символы и нам придется повторно использовать их во второй строке цифр. Следовательно, 0010 равняется двум (одна партия из двух и ни одного бита), 0101 обозначает пять (одна партия из четырех, без двоек и один бит) и так далее.
Наша обычная система счета использует единицы, десятки, сотни и тысячи для представления дополнительных рядов цифр. В двоичной системе используются биты, двойки, четверки, восьмерки, шестнадцати и так далее. Таким образом, двоичные числа обычно состоят как минимум из четырех или восьми цифр, в зависимости от того, насколько велико число. Но помимо того, что для выражения гораздо меньших чисел требуется больше цифр (например, шестнадцать описывается как 16 в десятичной системе и 00010000 в двоичной), концепция остается той же.
Почему компьютеры используют двоичные числа?
Основная причина, по которой в вычислениях используется двоичная система счисления, заключается в ее простоте. Компьютеры не понимают язык или числа так, как мы. Все, с чем они действительно могут работать, — это переключатели и электрические сигналы, включенные или выключенные. Для кодирования инструкций или сохранения значений с помощью переключателей, которые могут быть либо выключены, либо включены, двоичная система является вашим очевидным выбором. В двоичном коде «выключено» представлено 0, а «включено» представлено 1.
Компьютеры используют транзисторы в качестве электронных переключателей. Небольшое количество тока, поступающего на транзистор, может генерировать гораздо более высокий выходной ток: меньший ток включает более высокий ток. Если тока нет, выключатель остается выключенным. Это фундаментальное объяснение того, как работают микрочипы.
Значения сохраняются в двоичном формате с помощью этих переключателей, устанавливая их в положение «включено» (1) или «выключено» (0). Один переключатель эквивалентен одному биту, поэтому бит также представляет наименьший объем информации, который можно настроить. Восемь переключателей, т. е. восемь битов, составляют байт. Поскольку каждый переключатель представляет собой строку цифр в двоичной системе счета, восемь переключателей представляют любое значение от 0 до 256. Инструкции состоят из строк этих битов, которые может считывать соответствующее оборудование.
В настоящее время на одном микрочипе можно разместить миллионы транзисторов, но в ранних вычислениях транзисторы должны были быть намного больше. Возможно, система счета, использующая больше чисел, позволит хранить больше значений, используя гораздо меньше места. Так почему же мы до сих пор используем только двоичную систему?
Тернарный компьютер
Добавление еще одной цифры в систему кодирования означало бы добавление возможности определять мощность (то есть напряжение) электрического сигнала, а не только то, был ли он включен или выключен. Но, конечно, вам также понадобится способ вычисления трех цифр, что потребует использования совершенно нового оборудования.
Аппаратное обеспечение для троичных вычислений — расчеты с тремя возможными значениями — уже существует. Первый компьютер, способный выполнять такие вычисления, был создан в 1840 году, а первая современная электрическая версия — троичный компьютер — была построена в Советском Союзе в 1958 году. Хотя троичный компьютер потенциально дешевле в производстве и в некоторых отношениях потенциально более эффективен , похоже, темпы массового производства бинарных компьютеров затормозили дальнейшее развитие.
Двоичная логика
Сказав это, вероятно, то, как устроены транзисторы и как они выполняют вычисления, является настоящей причиной, по которой мы так долго придерживаемся двоичной системы. Двоичная математика гораздо легче для понимания компьютером, чем троичная математика.
Если сложить транзисторные переключатели вместе, получится логический вентиль. Гейт сравнивает два разных типа входных данных (т. е. включен или выключен каждый из переключателей), чтобы определить свой выход. Следовательно, в вычислениях доступны три типа вентилей и три различных операции: И, ИЛИ и НЕ. Именно так компьютеры принимают решения, и это является основным принципом компьютерного программирования, когда программа состоит из логических наборов инструкций. Примером того, как это работает в реальной жизни, может быть: «Если я уйду вовремя И нет пробок, я сяду на поезд.
Эти операции основаны на разделе математики, называемом булевой алгеброй. Булева логика утверждает, что есть четыре возможных результата, если у вас есть два возможных входа (как в двоичной системе). Каждая операция логического элемента может быть выражена в таблице истинности:
Сводка
Компьютеры используют двоичные числа, потому что это самый простой и простой способ записи и обработки электрических токов, протекающих через их оборудование. Если есть электрический ток, транзисторный переключатель включен. Транзисторный переключатель выключен, если нет электрического тока. Выключатель обозначается цифрой 1, а выключатель — цифрой 0,9.0004
Каждый переключатель представляет один бит информации, а восемь битов называются байтом. Так информация хранится в памяти компьютера.
Тернарные системы существуют, но не используются повсеместно. В будущем они могут стать более распространенными, но в настоящее время невозможно воспроизвести аппаратное обеспечение в столь мелком масштабе, который необходим для того, чтобы троичные транзисторы были жизнеспособны на рынке.
Почему компьютеры используют двоичные числа| Конвертировать в двоичный онлайн
Строки из 0 и 1. Двоичные числа часто используются для работы компьютеров. Но почему? Почему компьютеры конвертируют в двоичный код и обратно, а не просто используют 10-ю? Здесь мы собираемся предоставить вам все ответы, чтобы вы точно знали, почему компьютеры используют двоичные числа!
Современные компьютеры используют для работы двоичные числа — этот факт хорошо известен людям, изучающим компьютерные науки, или тем, кто использует эти машины более чем часто. Когда произносится бит, человек, использующий его, пытается определить сокращение двоичной цифры — элемент, который может содержать только 0 или 1. Биты организованы в восемь групп, и эти группы называются октетами или байтами. Часто измеряя 23 или 64 бита, октеты могут быть организованы в слова. И это то, о чем знает большинство людей. То, о чем большинство людей не знает, является причиной этого.
Почему в компьютерах используются двоичные числа? Вопрос кажется достаточно простым, но ответ на него не так однозначен. В конце концов, чтобы получить правильный ответ, мы должны сначала понять и объяснить, почему инженеры и ученые, проектирующие современные компьютеры, не используют десятичную систему счисления, которой нас учили в школе, и почему используют совершенно незнакомую систему счисления для компьютеры и другие подобные машины.
Хорошая новость заключается в том, что причины, по которым инженеры и ученые используют двоичную систему счисления для компьютеров, легко понять. В конце концов, вы можете легко взять текст сегодня и преобразовать в двоичный файл онлайн. Итак, не теряя времени, давайте рассмотрим, почему компьютеры используют двоичные числа, а не другие системы счисления.
Что такое двоичные числа и как они работаютПрежде чем мы перейдем к тому, почему компьютеры используют двоичные числа и конвертируют их в двоичные данные в режиме онлайн, давайте кратко рассмотрим, что такое двоичные числа и как они работают. Двоичная система, используемая компьютерами и некоторыми другими электронными устройствами, основана на двух символах: 0 и 1. Таким образом, вы считаете только 0 и 1, а символа для двойки нет, и он представлен десятью. Точно так же, как в десятичной системе счисления есть единицы, тенденции, сотни и тысячи, двоичная система счисления содержит единицы, четверки, восьмерки, шестнадцати и так далее.
В двоичной системе счисления 0 и 1 обозначаются соответственно ВЫКЛ и ВКЛ. Это указывает на включение или выключение электрического сигнала или степени по основанию 2. Это, вероятно, немного сбивает вас с толку, но хорошая новость заключается в том, что эта концепция подробно объясняется здесь. Позаботившись об этом, давайте перейдем к тому, почему компьютеры используют двоичные числа.
Почему компьютеры используют двоичные числа?Наконец мы подошли к вопросу на миллион долларов: почему компьютеры используют двоичные числа? Ответ не так прост, как вам может показаться. Тем не менее, мы постараемся найти ответы, которые звучат логично и поддерживают использование компьютерами двоичных чисел.
Для представления числовых данных в нашей повседневной жизни мы используем десятичную систему счисления. К сожалению, компьютеры не могут сделать то же самое. Вместо этого компьютеры представляют числа, используя наименьшую используемую нами систему счисления, то есть двойку. Это двоичная система счисления. В компьютерах используются напряжения, и, поскольку напряжения часто меняются, для каждого числа в десятичной системе не устанавливается конкретное напряжение. По этой причине двоичный код измеряется как система с двумя состояниями, то есть включена или выключена. Кроме того, чтобы упростить расчеты и преобразовать их в двоичные данные в режиме онлайн, компьютеры используют двоичную систему счисления.
В компьютер было бы встроено более сотни правил, если бы мы использовали десятичную систему счисления для компьютеров. Но, благодаря двоичной системе, компьютерам для расчетов требуется всего четыре правила. И последнее, но не менее важное: основная причина, по которой компьютеры используют двоичную систему, заключается в том, что система с двумя состояниями лучше всего подходит для оптических и магнитных запоминающих устройств компьютера. Продолжая тему, мы собираемся обсудить возможности хранения двоичной системы.
Какая система использует больше памяти: двоичная или десятичная?Если вы только бегло взглянете на оба, вы сразу же предположите, что двоичная система занимает больше места, чем десятичная система. Но это нисколько нас не удивляет, учитывая, что двоичное представление имеет длину восемь цифр, а десятичное представление — всего 3 цифры. Но поскольку все они хранятся в двоичном формате, это предположение становится практически неверным. Причина, по которой многие люди считают, что двоичная система занимает больше места, чем десятичная, заключается в том, как первая записывается на экране компьютера.
Вы всегда можете уменьшить количество цифр, используемых для представления числа, увеличив основание, но просто невозможно создать цифровую схему, которая использует что-либо кроме двух в качестве основы для работы. Причина в том, что если вы не переключитесь на квантовые вычисления, между «включено» и «выключено» не будет никакого состояния. Итак, готовы преобразовать в двоичный файл онлайн?
Использование двоичных чисел в цифровых компьютерах и электронных устройствахС помощью переключателей вы можете кодировать числа в двоичном формате. Эта система может использоваться несколькими цифровыми устройствами, включая часы, декодер цифрового телевидения, калькулятор, охранную сигнализацию, мобильный телефон и компьютер. В памяти значения хранятся в двоичном формате. По сути, это набор электронных переключателей ВКЛ и ВЫКЛ. Предположим, вам доступен блок из восьми клавишных переключателей, и в зависимости от того, включен он или выключен, каждый переключатель может представлять 0 или 1.
Теперь, чтобы сохранить двоичное значение числа, придумайте число и установите переключатели в положение «включено» или «выключено». Кто-то другой сможет прочитать номер, если посмотрит на переключатели. Транзисторы используются в компьютерах для реализации переключателей. Знаете ли вы, какая самая маленькая память конфигурации? Это единственный бит, о котором мы уже упоминали ранее. Для реализации этой конфигурации памяти требуется только один переключатель. Вы получаете байт, когда восемь переключателей объединяются вместе. Преобразуйте в двоичный файл онлайн, чтобы лучше понять это.
Переключатели могут включаться и выключаться цифровым оборудованием. Кроме того, аппаратное обеспечение может считывать состояние переключателей. если есть восемь переключателей, то умножение этого числа на основание два даст использование более 250 компоновок или перестановок в зависимости от состояния переключателя, то есть включен он или выключен.
Вы получили ответ, который искали?Получили ли вы ответ на свой вопрос, то есть поняли ли вы, почему компьютеры используют двоичные числа? Если нет, то мы подведем итоги таким образом, чтобы вам было легко понять, почему компьютеры используют двоичную систему и конвертируют ее в двоичную онлайн.
В школе нас всех учат использовать десятичную систему счисления, и поэтому она становится стандартной системой счисления, которую мы используем в повседневной жизни. Так почему же компьютеры не используют эту систему, а вместо этого используют двоичную систему? Ответ на этот вопрос довольно прост. Переключатели, управляющие электрическими сигналами, — это то, как действуют схемы двигателей компьютеров, а «включено» и «выключено» — это единственные два состояния, требуемые для этих переключателей. Это означает, что переключателям требуется всего два числа: 0 и 1 для представления каждого состояния.
С другой стороны, если бы компьютеры использовали десятичную систему, у переключателя было бы десять возможных состояний. Это отнимает много времени и совершенно не нужно. Таким образом, чтобы избежать хлопот и упростить такие вещи, как расчеты, компьютеры используют двоичную систему счисления. Теперь вы понимаете, почему компьютеры используют двоичные числа вместо десятичных?
Начать преобразование текста в двоичный форматТеперь, когда вы знаете, почему компьютеры используют двоичные числа, пришло время начать преобразовывать текст в двоичный формат. Чтобы избежать хлопот, связанных с использованием физического инструмента, преобразуйте его в двоичный файл онлайн.