Почему в компьютере используется двоичная система счисления
Люди предпочитают десятичную систему, вероятно, потому, что с древних времен считали по пальцам, а пальцев у людей по десять на руках и ногах. Не всегда и не везде люди пользуются десятичной системой счисления. В Китае, например, долгое время пользовались пятеричной системой счисления.
А компьютеры используют двоичную систему потому, что она имеет ряд преимуществ перед другими системами:
· для ее реализации нужны технические устройства с двумя устойчивыми состояниями (есть ток -- нет тока, намагничен -- не намагничен и т.п.), а не, например, с десятью, -- как в десятичной;
· представление информации посредством только двух состояний надежно и помехоустойчиво;
· возможно применение аппарата булевой алгебры для выполнения логических преобразований информации;
· двоичная арифметика намного проще десятичной.
Недостаток двоичной системы -- быстрый рост числа разрядов, необходимых для записи чисел.
Двоичная система, удобная для компьютеров, для человека неудобна из-за ее громоздкости и непривычной записи.
Перевод чисел из десятичной системы в двоичную и наоборот выполняет машина. Однако, чтобы профессионально использовать компьютер, следует научиться понимать слово машины. Для этого и разработаны восьмеричная и шестнадцатеричная системы.
Числа в этих системах читаются почти так же легко, как десятичные, требуют соответственно в три (восьмеричная) и в четыре (шестнадцатеричная) раза меньше разрядов, чем в двоичной системе (ведь числа 8 и 16 -- соответственно, третья и четвертая степени числа 2).
Количество p различных цифр, употребляемых в позиционной системе определяет название системы счисления и называется основанием системы счисления - "p". Любое число N в позиционной системе счисления с основанием p может быть представлено в виде полинома от основания p:
N = anp n +an-1p n-1 + . +a1p+a0+a-1p -1 +a-2p -2 + . (1.1)
здесь N - число, aj - коэффициенты (цифры числа), p - основание системы счисления (p>1). Принято представлять числа в виде последовательности цифр:
N = anan-1 . a1a0 . a-1a-2 .
Перевод чисел в десятичную систему осуществляется путем составления степенного ряда с основанием той системы (см. формулу 1.1), из которой число переводится. Затем подсчитывается значение суммы.
Перевод целых десятичных чисел в недесятичную систему счисления осуществляется последовательным делением десятичного числа на основание той системы, в которую оно переводится, до тех пор, пока не получится частное меньшее этого основания. Число в новой системе записывается в виде остатков деления, начиная с последнего.
Пример: Переведем число 75 из десятичной системы в двоичную, восьмеричную и шестнадцатеричную:
Ответ: 7510 = 1 001 0112 = 1138 = 4B16.
Перевод правильных дробей из десятичной системы счисления в недесятичную. Для перевода правильной десятичной дроби в другую систему эту дробь надо последовательно умножать на основание той системы, в которую она переводится. При этом умножаются только дробные части. Дробь в новой системе записывается в виде целых частей произведений, начиная с первого.
Пример. Переведем число 0,36 из десятичной системы в двоичную, восьмеричную и шестнадцатеричную:
Для перевода неправильной десятичной дроби в систему счисления с недесятичным основанием необходимо отдельно перевести целую часть и отдельно дробную. Перевести 23.125102 с.с.
1. Переведем целую часть:
2. Переведем дробную часть:
3. Таким образом:
23.125 10 = 10111.0012.
Системы счисления называются кратными, если выполняется соотношение: S = R N , где S, R - основания систем счисления, N - степень кратности (целое число: 2, 3 … ).
Для перевода числа из системы счисления R в кратную ей систему счисления S поступают следующим образом: двигаясь от точки влево и вправо, разбивают число на группы по N разрядов, дополняя при необходимости нулями крайние левую и правую группы. Затем группу заменяют соответствующей цифрой из системы счисления S.
Перевести 1101111001.11012"8" с.с.
Перевести 11111111011.1001112"16" с.c.
Для перевода числа из системы счисления S в кратную ей систему счисления R достаточно заменить каждую цифру этого числа соответствующим числом из системы счисления R, при этом отбрасывают незначащие нули в старших (00512) и младших (15,124000) разрядах.
Если требуется выполнить перевод из системы счисления S в R, при условии что они не являются кратными, тогда нужно попробовать подобрать систему счисления K, такую что: S = K N и R = K N .
Перевести 175.248"16" с.с.
Если систему счисления K подобрать не удается, тогда следует выполнить перевод используя в качестве промежуточной десятичную систему счисления.
Для всего этого примеры
Перевод восьмеричных и шестнадцатеричных чисел в двоичную систему очень прост: достаточно каждую цифру заменить эквивалентной ей двоичной триадой (тройкой цифр) или тетрадой (четверкой цифр).
Чтобы перевести число из двоичной системы в восьмеричную или шестнадцатеричную, его нужно разбить влево и вправо от запятой на триады (для восьмеричной) или тетрады (для шестнадцатеричной) и каждую такую группу заменить соответствующей восьмеричной (шестнадцатеричной) цифрой. Например:
Сложение в различных системах счисления
Таблицы сложения легко составить, используя Правило Счета.
Вычитание в различных системах счисления
Умножение в различных системах счисления
Выполняя умножение многозначных чисел в различных позиционных системах счисления, можно использовать обычный алгоритм перемножения чисел в столбик, но при этом результаты перемножения и сложения однозначных чисел необходимо заимствовать из соответствующих рассматриваемой системе таблиц умножения и сложения.
Деление в различных системах счисления
Деление в любой позиционной системе счисления производится по тем же правилам, как и деление углом в десятичной системе. В двоичной системе деление выполняется особенно просто, ведь очередная цифра частного может быть только нулем или единицей.
Компьютеры не понимают слов и цифр так, как это делают люди. Современное программное обеспечение позволяет конечному пользователю игнорировать это, но на самых низких уровнях ваш компьютер оперирует двоичным электрическим сигналом, который имеет только два состояния: есть ток или нет тока. Чтобы «понять» сложные данные, ваш компьютер должен закодировать их в двоичном формате.
Двоичная система основывается на двух цифрах – 1 и 0, соответствующим состояниям включения и выключения, которые ваш компьютер может понять. Вероятно, вы знакомы с десятичной системой. Она использует десять цифр – от 0 до 9, а затем переходит к следующему порядку, чтобы сформировать двузначные числа, причем цифра из каждого следующего порядка в десять раз больше, чем предыдущая. Двоичная система аналогична, причем каждая цифра в два раза больше, чем предыдущая.
Подсчет в двоичном формате
В двоичном выражении первая цифра равноценна 1 из десятичной системы. Вторая цифра равна 2, третья – 4, четвертая – 8, и так далее – удваивается каждый раз. Добавление всех этих значений даст вам число в десятичном формате.
1111 (в двоичном формате) = 8 + 4 + 2 + 1 = 15 (в десятичной системе)
Учет 0 даёт нам 16 возможных значений для четырех двоичных битов. Переместитесь на 8 бит, и вы получите 256 возможных значений. Это занимает намного больше места для представления, поскольку четыре цифры в десятичной форме дают нам 10000 возможных значений. Конечно, бинарный код занимает больше места, но компьютеры понимают двоичные файлы намного лучше, чем десятичную систему. И для некоторых вещей, таких как логическая обработка, двоичный код лучше десятичного.
Следует сказать, что существует ещё одна базовая система, которая используется в программировании: шестнадцатеричная. Хотя компьютеры не работают в шестнадцатеричном формате, программисты используют её для представления двоичных адресов в удобочитаемом формате при написании кода. Это связано с тем, что две цифры шестнадцатеричного числа могут представлять собой целый байт, то есть заменяют восемь цифр в двоичном формате. Шестнадцатеричная система использует цифры 0-9, а также буквы от A до F, чтобы получить дополнительные шесть цифр.
Почему компьютеры используют двоичные файлы
Короткий ответ: аппаратное обеспечение и законы физики. Каждый символ в вашем компьютере является электрическим сигналом, и в первые дни вычислений измерять электрические сигналы было намного сложнее. Было более разумно различать только «включенное» состояние, представленное отрицательным зарядом, и «выключенное» состояние, представленное положительным зарядом.
Для тех, кто не знает, почему «выключено» представлено положительным зарядом, это связано с тем, что электроны имеют отрицательный заряд, а больше электронов – больше тока с отрицательным зарядом.
Таким образом, ранние компьютеры размером с комнату использовали двоичные файлы для создания своих систем, и хотя они использовали более старое, более громоздкое оборудование, они работали на тех же фундаментальных принципах. Современные компьютеры используют, так называемый, транзистор для выполнения расчетов с двоичным кодом.
Вот схема типичного транзистора:
По сути, он позволяет току течь от источника к стоку, если в воротах есть ток. Это формирует двоичный ключ. Производители могут создавать эти транзисторы невероятно малыми – вплоть до 5 нанометров или размером с две нити ДНК. Это то, как работают современные процессоры, и даже они могут страдать от проблем с различением включенного и выключенного состояния (хотя это связано с их нереальным молекулярным размером, подверженным странностям квантовой механики).
Почему только двоичная система
Поэтому вы можете подумать: «Почему только 0 и 1? Почему бы не добавить ещё одну цифру?». Хотя отчасти это связано с традициями создания компьютеров, вместе с тем, добавление ещё одной цифры означало бы необходимость выделять ещё одно состояние тока, а не только «выключен» или «включен».
Проблема здесь в том, что если вы хотите использовать несколько уровней напряжения, вам нужен способ легко выполнять вычисления с ними, а современное аппаратное обеспечение, способное на это, не жизнеспособно как замена двоичных вычислений. Например, существует, так называемый, тройной компьютер, разработанный в 1950-х годах, но разработка на том и прекратилась. Тернарная логика более эффективна, чем двоичная, но пока ещё нет эффективной замены бинарного транзистора или, по крайней мере, нет транзистора столь же крошечных масштабов, что и двоичные.
Причина, по которой мы не можем использовать тройную логику, сводится к тому, как транзисторы соединяются в компьютере и как они используются для математических вычислений. Транзистор получает информацию на два входа, выполняет операцию и возвращает результат на один выход.
Таким образом, бинарная математика проще для компьютера, чем что-либо ещё. Двоичная логика легко преобразуется в двоичные системы, причем True и False соответствуют состояниям Вкл и Выкл .
Бинарная таблица истинности, работающая на двоичной логике, будет иметь четыре возможных выхода для каждой фундаментальной операции. Но, поскольку тройные ворота используют три входа, тройная таблица истинности имела бы 9 или более. В то время как бинарная система имеет 16 возможных операторов (2^2^2), троичная система имела бы 19683 (3^3^3). Масштабирование становится проблемой, поскольку, хотя троичность более эффективна, она также экспоненциально более сложна.
Кто знает? В будущем мы вполне возможно увидим тройничные компьютеры, поскольку бинарная логика столкнулась с проблемами миниатюризации. Пока же мир будет продолжать работать в двоичном режиме.
Разберем, что из себя представляет двоичная система счисления
Система счисления, которой мы пользуемся каждый день называется десятичной, или, более верно — десятеричной. В ней используется десять разных символов (0,1,2,3,4,5,6,7,8,9) для обозначения любого цифрового значения. Во всех современных системах исчисления позиция цифры несет в себе ее значение. Так, например, числа 28 и 82 содержат в себе одинаковые цифры, но имеют два совершенно разных значения.
В начальной школе мы все, скорее всего, начинали изучение позиционной цифровой системы выписывая значения в столбик:
Для представления величины необходимо записать символ цифры в каждый соответствующий столбец. В таком виде для записи числа четыреста тридцать шесть необходимо записать символы следующим образом:
Если вы немного знакомы с математикой, то наименования столбцов можно заменить на значение десяти в степени:
Таким образом число под степенью основано на базе системы счисления. В обобщенном виде это можно представить так (за базу возьмем Б):
Б3 Б2 Б1 Б0
Компьютеры и двоичная система счисления
Ввиду устройства памяти современных компьютеров, вся информация хранимая памятью, будь то программные инструкции, цифры, текст, изображения, музыка или видео, все это хранится в виде последовательности цифр 1 и 0 .
Что такое бит, байт, нибл?
Фундаментальным электронным компонентом компьютерной памяти является бит . Бит, словно выключатель обычной лампочки может находится только в двух состояниях. В то время, как у выключателя эти позиции называются ВКЛ и ВЫКЛ, у бита эти состояния равны 1 и 0.
Так как мы не сможем хранить большие данные в одном бите, то компьютерная память организована таким образом, что биты объединены в группы из 8 бит. Группа из 8 бит называется байт . Половина байта (4 бита) иногда зовется ниблом .
Если мы представим, что 8 бит, содержащиеся в 1 байте, представлены в виде столбцов, каждый из которых может содержать только единицу или ноль, то мы можем увидеть, что компьютер использует систему счисления с базой равной двум. Термин двоичная система, значит состоит из двух частей. Таким образом это система, известная, как двоичная система счислений.
В отличие от человека – ЭВМ не умеют мыслить. Они не способны подрожать человеческому воображению. Однако компьютеры могут очень быстро выполнять сложные математические расчеты и решать за секунды задачи, на которые у нас могли уходить целые недели. Все данные, которые есть в ПК, записаны в цифровом коде, алфавит которого состоит из двух символов – нуля и единицы. В этой статье вы узнаете ответ на вопрос — почему в ЭВМ используется двоичная система счисления.
Ликвидация безграмотности
Введение для чайников
Отсюда можно сделать вывод, что в десятичной форме записи – цифра следующего разряда всегда в десять раз больше, чем предыдущая (1,10,100,1000 и т.д.). Аналогичное правило применимо и к двоичному коду, состоящему из последовательности нулей и единиц – каждый следующий разряд в два раза больше предыдущего. Чтобы вам было понятнее, покажем это наглядно.
Цифровая арифметика в информатике
А 8 бит, принято в информатике называть, как один байт – количество памяти необходимое для хранения одного символа. Зная всё это можно перейти к главному вопросу:
Почему в ЭВМ используется двоичная система счисления
Почему использовалась в начале эры ЭВМ?
Ответ прост — на это повлияли законы физики и особенности развития аппаратного обеспечения. Вспомните, как выглядели первые ЭВМ – большие установки, которые занимали по площади размер, сопоставимый с теннисным кортом.
- Простота технической реализации;
Есть всего два состояния, а это значит, что можно подобрать большое количество физических процессов, для представления данных. Например, ток (подается или нет), магнитная дорожка (отрезок дорожки намагничен или нет). - Большая надежность;
- Высокая помехоустойчивость.
Второй и третий плюс вытекают из первого. Да и в то время технологии были не настолько развиты, чтобы можно было предложить более практичное решение. Революция произошла в конце пятидесятых, начале шестидесятых годов, когда были выпущены первые кремниевые транзисторы.
Почему мы пользуемся ей сейчас?
Сейчас будет сложно, так что приготовьтесь. Процессоры всех современных компьютеров и других цифровых устройств работают на основе схемотехнических элементов, которые называются транзисторы.
Итак, что это такое? Если говорить просто, то это элемент, который позволяет управлять электрическим током. Рассмотрим принцип его действия.
Элемент состоит из трех частей:
- Полупроводниковой подложки;
- Области P-типа:
- Области N-типа.
Однако грош цена была бы этому изобретению – если с помощью транзистора можно было выводить только нуль и единицу. Почему? Какой смысл от букв и цифр, если мы не можем с ними выполнять различные операции.
Вывод
Если же брать три уровня тока, то какое устройство сможет быстро производить с ними операции? Правильно, такого не существует. На данный момент, как и раньше, нет более удобного и простого аналога представления информации – это и будет являться ответом на вопрос: почему в ЭВМ используется двоичная система счисления.
Двоичная система счисления (0 и 1) часто ассоциируется с компьютерами. Но почему это так? Почему компьютеры не могут просто использовать базу 10 вместо преобразования в двоичный файл и обратно? Разве не эффективнее использовать более высокую базу, поскольку двоичное представление (база 2) использует больше "пробелов"? Ответ довольно прост.
Что такое "цифровой"?
Современный "цифровой" компьютер, в отличие от старого "аналогового" компьютера, работает по принципу двух возможных состояний: "включено" и "выключено". Это непосредственно соответствует присутствию либо электрического тока, либо отсутствию указанного электрического тока. Состоянию " on "присваивается значение "1", в то время как состояние" off "присваивается значение"0".
Термин "двоичный" подразумевает "два". Таким образом, двоичная система счисления – это система чисел, основанная на двух возможных цифрах - 0 и 1. Каждая двоичная цифра, или "бит", представляет собой 0 или 1, который непосредственно соответствует одному "переключателю" в цепи. Добавьте достаточно этих "переключателей" вместе, и вы можете представить больше чисел. Таким образом, вместо 1 цифры, вы в конечном итоге с 8, чтобы сделать байт. (Байт-основная единица хранения, просто определяется как 8 бит; известные килобайты, мегабайты и гигабайты являются производными от байта, и каждый из них в 1,024 раза больше другого. Существует 1024-кратная разница в отличие от 1000-кратной разницы, потому что 1024 - это степень 2, а 1000 - нет.)
Двоичный использует больше памяти, чем десятичный?
На первый взгляд кажется, что двоичное представление числа 10010110 занимает больше места, чем его десятичное (основание 10) представление 150. В конце концов, первое - это 8 цифр, а второе - 3 цифры. Однако это недопустимый аргумент в контексте отображения чисел на экране, так как все они хранятся в двоичном формате! Единственная причина, по которой 150 "меньше", чем 10010110, заключается в том, как мы пишем его на экране (или на бумаге).
Увеличение базы уменьшит количество цифр, необходимых для представления любого заданного числа, но, беря непосредственно из предыдущей точки, невозможно создать цифровую схему, которая работает в любой базе, кроме 2, так как нет состояния между "включено" и "выключено" (если вы не попадете в квантовые компьютеры).
А как насчет восьмеричного и шестнадцатеричного?
Восьмеричное (основание 8) и шестнадцатеричное (основание 16) - это просто "ярлык" для представления двоичных чисел, поскольку оба эти основания являются степенями 2. 3 восьмеричные цифры = 2 шестнадцатеричные цифры = 8 двоичных цифр = 1 байт. Программисту проще представить 32-разрядное целое число, часто используемое для 32-разрядных значений цвета, как FF00EE99 вместо 11111111000000001110111010011001.
Недвоичные компьютеры
Представьте себе компьютер, основанный на базе 10. Тогда каждый "переключатель" будет иметь 10 возможных состояний. Они могут быть представлены цифрами (известными как "запреты" или "dits", что означает "десятичные цифры") от 0 до 9. В этой системе числа будут представлены в базе 10. Это невозможно с обычными электронными компонентами сегодня, но теоретически возможно на квантовом уровне.
Является ли эта система более эффективной? Предполагая, что "переключатели" стандартного двоичного компьютера занимают то же самое количество физического пространства (нанометров), что и эти переключатели base-10, компьютер base-10 мог бы вместить значительно больше вычислительной мощности в то же самое физическое пространство. Таким образом, хотя вопрос о том, что двоичный код "неэффективен", имеет некоторую обоснованность в теории, но не в практическом использовании сегодня.
Тогда почему все современные компьютеры используют двоичный код?
Простой ответ: компьютеры изначально не были предназначены для использования двоичных файлов. скорее, binary была определена как наиболее практичная система для использования с компьютерами, которые мы проектировали.
Полный ответ: мы используем только двоичный код, потому что в настоящее время у нас нет технологии для создания "переключателей", которые могут надежно удерживать более двух возможных состояний. (Квантовые компьютеры в данный момент точно не продаются.) Бинарная система была выбрана только потому, что довольно легко отличить наличие электрического тока от отсутствия электрического тока, особенно при работе с триллионами таких соединений. И использование любой другой базы чисел в этой системе нелепо, потому что система должна была бы постоянно конвертировать между ними. Вот и все.
Читайте также: