Домой / Уроки по Windows / Какие бывают непозиционные системы счисления. Системы счисления. Непозиционные системы счисления. Преобразование дробной части десятичной системы в любую другую

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

Разнообразные системы счисления, которые существовали раньше и которые используются в наше время, можно разделить на непозиционные и позиционные. Знаки, используемые при записи чисел, называются цифрами.

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

В позиционных системах счисления величина, обозначаемая цифрой в записи числа, зависит от ее позиции. Количество используемых цифр называется основанием системы счисления. Место каждой цифры в числе называется позицией. Первая известная нам система, основанная на позиционном принципе - шестидесятеричная вавилонская. Цифры в ней были двух видов, одним из которых обозначались единицы, другим - десятки.

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

Наиболее употребительной оказалась индо-арабская десятичная система. Индийцы первыми использовали ноль для указания позиционной значимости величины в строке цифр. Эта система получила название десятичной, так как в ней десять цифр.

Различие между позиционной и непозиционной систем счисления легче всего понять на примере сравнения двух чисел. В позиционной системе счисления сравнение двух чисел происходит следующим образом: в рассматриваемых числах слева направо сравниваются цифры, стоящие в одинаковых позициях. Бoльшая цифра соответствует бoльшему значению числа. Например, для чисел 123 и 234, 1 меньше 2, поэтому число 234 больше, чем число 123. В непозиционной системе счисления это правило не действует. Примером этого может служить сравнение двух чисел IX и VI. Несмотря на то, что I меньше, чем V, число IX больше, чем число VI.

Основание системы счисления, в которой записано число, обычно обозначается нижним индексом. Например, 555 7 - число, записанное в семеричной системе счисления. Если число записано в десятичной системе, то основание, как правило, не указывается. Основание системы - это тоже число, и его указывают в обычной десятичной системе. Любое целое число в позиционной системе можно записать в форме многочлена:

Х s ={A n A n-1 A n-2 ...A 2 A 1 } s =A n ·S n-1 +A n-1 ·S n-2 +A n-2 ·S n-3 +...+A 2 ·S 1 +A 1 ·S 0

где S - основание системы счисления, А n - цифры числа, записанного в данной системе счисления, n - количество разрядов числа.

Так, например число 6293 10 запишется в форме многочлена следующим образом:

6293 10 =6·10 3 + 2·10 2 + 9·10 1 + 3·10 0

Примеры позиционных систем счисления:

· Двоичная (или система счисления с основанием 2) это положительная целочисленная позиционная (поместная) система счисления, позволяющая представить различные численные значения с помощью двух символов. Чаще всего это 0 и 1.

· Восьмеричная -- позиционная целочисленная система счисления с основанием 8. Для представления чисел в ней используются цифры 0 до 7. Восьмеричная система часто используется в областях, связанных с цифровыми устройствами. Ранее широко использовалась в программировании и компьютерной документации, однако в настоящее время почти полностью вытеснена шестнадцатеричной.

· Десятичная система счисления -- позиционная система счисления по целочисленному основанию 10. Наиболее распространённая система счисления в мире. Для записи чисел наиболее часто используются символы 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, называемые арабскими цифрами.

· Двенадцатеричная (широко использовалась в древности, в некоторых частных областях используется и сейчас) -- позиционная система счисления с целочисленным основанием 12. Используются цифры 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B. Некоторые народы Нигерии и Тибета до сих пор используют двенадцатеричную систему счисления, но отголоски ее можно найти практически в любой культуре. В русском языке есть слово "дюжина", в английском "dozen", в некоторых местах слово двенадцать употребляют вместо «десять», как круглое число, например, подождите 12 минут.

· Шестнадцатеричная (наиболее распространена в программировании, а также в шрифтах) -- позиционная система счисления по целочисленному основанию 16. Обычно в качестве шестнадцатеричных цифр используются десятичные цифры от 0 до 9 и латинские буквы от A до F для обозначения цифр от 10 до 15. Широко используется в низкоуровневом программировании и вообще в компьютерной документации, поскольку в современных компьютерах минимальной единицей памяти является 8-битный байт, значения которого удобно записывать двумя шестнадцатеричными цифрами.

· Шестидесятеричная (измерение углов и, в частности, долготы и широты) -- позиционная система счисления по целочисленному основанию 60. Использовалась в древние времена на Ближнем Востоке. Последствиями этой системы счисления является деление углового и дугового градуса (а также часа) на 60 минут и минуты на 60 секунд.

Наибольший интерес при работе на ЭВМ представляют системы счисления с основаниями 2, 8 и 16. Этих систем счисления обычно хватает для полноценной работы как человека, так и вычислительной машины, однако иногда в силу различных обстоятельств все-таки приходится обращаться к другим системам счисления, например к троичной, семеричной или системе счисления по основанию 32.

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

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

Часто в информатике используют шестнадцатеричную систему, так как запись чисел в ней значительно короче записи чисел в двоичной системе. Может возникнуть вопрос: почему бы не использовать для записи очень больших чисел систему счисления, например по основанию 50? Для такой системы счисления необходимы 10 обычных цифр плюс 40 знаков, которые соответствовали бы числам от 10 до 49 и вряд ли кому-нибудь понравится работать с этими сорока знаками. Поэтому в реальной жизни системы счисления по основанию, большему 16, практически не используются.

Изучая кодировки, я понял, что недостаточно хорошо понимаю системы счислений. Тем не менее, часто использовал 2-, 8-, 10-, 16-ю системы, переводил одну в другую, но делалось все на “автомате”. Прочитав множество публикаций, я был удивлен отсутствием единой, написанной простым языком, статьи по столь базовому материалу. Именно поэтому решил написать свою, в которой постарался доступно и по порядку изложить основы систем счисления.

Введение

Система счисления - это способ записи (представления) чисел.

Что под этим подразумевается? Например, вы видите перед собой несколько деревьев. Ваша задача - их посчитать. Для этого можно - загибать пальцы, делать зарубки на камне (одно дерево - один палец\зарубка) или сопоставить 10 деревьям какой-нибудь предмет, например, камень, а единичному экземпляру - палочку и выкладывать их на землю по мере подсчета. В первом случае число представляется, как строка из загнутых пальцев или зарубок, во втором - композиция камней и палочек, где слева - камни, а справа - палочки

Системы счисления подразделяются на позиционные и непозиционные, а позиционные, в свою очередь, - на однородные и смешанные.

Непозиционная - самая древняя, в ней каждая цифра числа имеет величину, не зависящую от её позиции (разряда). То есть, если у вас 5 черточек - то число тоже равно 5, поскольку каждой черточке, независимо от её места в строке, соответствует всего 1 один предмет.

Позиционная система - значение каждой цифры зависит от её позиции (разряда) в числе. Например, привычная для нас 10-я система счисления - позиционная. Рассмотрим число 453. Цифра 4 обозначает количество сотен и соответствует числу 400, 5 - кол-во десяток и аналогично значению 50, а 3 - единиц и значению 3. Как видим - чем больше разряд - тем значение выше. Итоговое число можно представить, как сумму 400+50+3=453.

Однородная система - для всех разрядов (позиций) числа набор допустимых символов (цифр) одинаков. В качестве примера возьмем упоминавшуюся ранее 10-ю систему. При записи числа в однородной 10-й системе вы можете использовать в каждом разряде исключительно одну цифру от 0 до 9, таким образом, допускается число 450 (1-й разряд - 0, 2-й - 5, 3-й - 4), а 4F5 - нет, поскольку символ F не входит в набор цифр от 0 до 9.

Смешанная система - в каждом разряде (позиции) числа набор допустимых символов (цифр) может отличаться от наборов других разрядов. Яркий пример - система измерения времени. В разряде секунд и минут возможно 60 различных символов (от «00» до «59»), в разряде часов – 24 разных символа (от «00» до «23»), в разряде суток – 365 и т. д.

Непозиционные системы

Как только люди научились считать - возникла потребность записи чисел. В начале все было просто - зарубка или черточка на какой-нибудь поверхности соответствовала одному предмету, например, одному фрукту. Так появилась первая система счисления - единичная.
Единичная система счисления
Число в этой системе счисления представляет собой строку из черточек (палочек), количество которых равно значению данного числа. Таким образом, урожай из 100 фиников будет равен числу, состоящему из 100 черточек.
Но эта система обладает явными неудобствами - чем больше число - тем длиннее строка из палочек. Помимо этого, можно легко ошибиться при записи числа, добавив случайно лишнюю палочку или, наоборот, не дописав.

Для удобства, люди стали группировать палочки по 3, 5, 10 штук. При этом, каждой группе соответствовал определенный знак или предмет. Изначально для подсчета использовались пальцы рук, поэтому первые знаки появились для групп из 5 и 10 штук (единиц). Все это позволило создать более удобные системы записи чисел.

Древнеегипетская десятичная система
В Древнем Египте использовались специальные символы (цифры) для обозначения чисел 1, 10, 10 2 , 10 3 , 10 4 , 10 5 , 10 6 , 10 7 . Вот некоторые из них:

Почему она называется десятичной? Как писалось выше - люди стали группировать символы. В Египте - выбрали группировку по 10, оставив без изменений цифру “1”. В данном случае, число 10 называется основанием десятичной системы счисления, а каждый символ - представление числа 10 в какой-то степени.

Числа в древнеегипетской системе счисления записывались, как комбинация этих
символов, каждый из которых повторялся не более девяти раз. Итоговое значение равнялось сумме элементов числа. Стоит отметить, что такой способ получения значения свойственен каждой непозиционной системе счисления. Примером может служить число 345:

Вавилонская шестидесятеричная система
В отличии от египетской, в вавилонской системе использовалось всего 2 символа: “прямой” клин - для обозначения единиц и “лежачий” - для десятков. Чтобы определить значение числа необходимо изображение числа разбить на разряды справа налево. Новый разряд начинается с появления прямого клина после лежачего. В качестве примера возьмем число 32:

Число 60 и все его степени так же обозначаются прямым клином, что и “1”. Поэтому вавилонская система счисления получила название шестидесятеричной.
Все числа от 1 до 59 вавилоняне записывали в десятичной непозиционной системе, а большие значения - в позиционной с основанием 60. Число 92:

Запись числа была неоднозначной, поскольку не существовало цифры обозначающей ноль. Представление числа 92 могло обозначать не только 92=60+32, но и, например, 3632=3600+32. Для определения абсолютного значения числа был введен специальный символ для обозначения пропущенного шестидесятеричного разряда, что соответствует появлению цифры 0 в записи десятичного числа:

Теперь число 3632 следует записывать, как:

Шестидесятеричная вавилонская система - первая система счисления, частично основанная на позиционном принципе. Данная система счисления используется и сегодня, например, при определении времени - час состоит из 60 минут, а минута из 60 секунд.

Римская система
Римская система не сильно отличается от египетской. В ней для обозначения чисел 1, 5, 10, 50, 100, 500 и 1000 используются заглавные латинские буквы I, V, X, L, C, D и M соответственно. Число в римской системе счисления - это набор стоящих подряд цифр.

Методы определения значения числа:

  1. Значение числа равно сумме значений его цифр. Например, число 32 в римской системе счисления имеет вид XXXII=(X+X+X)+(I+I)=30+2=32
  2. Если слева от большей цифры стоит меньшая, то значение равно разности между большей и меньшей цифрами. При этом, левая цифра может быть меньше правой максимум на один порядок: так, перед L(50) и С(100) из «младших» может стоять только X(10), перед D(500) и M(1000) - только C(100), перед V(5) - только I(1); число 444 в рассматриваемой системе счисления будет записано в виде CDXLIV = (D-C)+(L-X)+(V-I) = 400+40+4=444.
  3. Значение равно сумме значений групп и цифр, не подходящих под 1 и 2 пункты.
Помимо цифирных, существуют и буквенные (алфавитные) системы счисления, вот некоторые из них:
1) Славянская
2) Греческая (ионийская)

Позиционные системы счисления

Как упоминалось выше - первые предпосылки к появлению позиционной системы возникли в древнем Вавилоне. В Индии система приняла форму позиционной десятичной нумерации с применением нуля, а у индусов эту систему чисел заимствовали арабы, от которых её переняли европейцы. По каким-то причинам, в Европе за этой системой закрепилось название “арабская”.
Десятичная система счисления
Это одна из самых распространенных систем счисления. Именно её мы используем, когда называем цену товара и произносим номер автобуса. В каждом разряде (позиции) может использоваться только одна цифра из диапазона от 0 до 9. Основанием системы является число 10.

Для примера возьмем число 503. Если бы это число было записано в непозиционной системе, то его значение равнялось 5+0+3 = 8. Но у нас - позиционная система и значит каждую цифру числа необходимо умножить на основание системы, в данном случае число “10”, возведенное в степень, равную номеру разряда. Получается, значение равно 5*10 2 + 0*10 1 + 3*10 0 = 500+0+3 = 503. Чтобы избежать путаницы при одновременной работе с несколькими системами счисления основание указывается в качестве нижнего индекса. Таким образом, 503 = 503 10 .

Помимо десятичной системы, отдельного внимания заслуживают 2-, 8-, 16-ая системы.

Двоичная система счисления
Эта система, в основном, используется в вычислительной технике. Почему не стали использовать привычную нам 10-ю? Первую вычислительную машину создал Блез Паскаль, использовавший в ней десятичную систему, которая оказалась неудобной в современных электронных машинах, поскольку требовалось производство устройств, способных работать в 10 состояниях, что увеличивало их цену и итоговые размеры машины. Этих недостатков лишены элементы, работающие в 2-ой системе. Тем не менее, рассматриваемая система была создана за долго до изобретения вычислительных машин и уходит “корнями” в цивилизацию Инков, где использовались кипу - сложные верёвочные сплетения и узелки.

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

Примером может служить число 101. Оно аналогично числу 5 в десятичной системе счисления. Для того, чтобы перевести из 2-й в 10-ю необходимо умножить каждую цифру двоичного числа на основание “2”, возведенное в степень, равную разряду. Таким образом, число 101 2 = 1*2 2 + 0*2 1 + 1*2 0 = 4+0+1 = 5 10 .

Хорошо, для машин 2-я система счисления удобнее, но мы ведь часто видим, используем на компьютере числа в 10-й системе. Как же тогда машина определяет какую цифру вводит пользователь? Как переводит число из одной системы в другую, ведь в её распоряжении всего 2 символа - 0 и 1?

Чтобы компьютер мог работать с двоичными числами (кодами), необходимо чтобы они где-то хранились. Для хранения каждой отдельной цифры применяется триггер, представляющий собой электронную схему. Он может находится в 2-х состояниях, одно из которых соответствует нулю, другое - единице. Для запоминания отдельного числа используется регистр - группа триггеров, число которых соответствует количеству разрядов в двоичном числе. А совокупность регистров - это оперативная память. Число, содержащееся в регистре - машинное слово. Арифметические и логические операции со словами осуществляет арифметико-логическое устройство (АЛУ). Для упрощения доступа к регистрам их нумеруют. Номер называется адресом регистра. Например, если необходимо сложить 2 числа - достаточно указать номера ячеек (регистров), в которых они находятся, а не сами числа. Адреса записываются в 8- и 16-ричной системах (о них будет рассказано ниже), поскольку переход от них к двоичной системе и обратно осуществляется достаточно просто. Для перевода из 2-й в 8-ю число необходимо разбить на группы по 3 разряда справа налево, а для перехода к 16-ой - по 4. Если в крайней левой группе цифр не достает разрядов, то они заполняются слева нулями, которые называются ведущими. В качестве примера возьмем число 101100 2 . В восьмеричной - это 101 100 = 54 8 , а в шестнадцатеричной - 0010 1100 = 2С 16 . Отлично, но почему на экране мы видим десятичные числа и буквы? При нажатии на клавишу в компьютер передаётся определённая последовательность электрических импульсов, причём каждому символу соответствует своя последовательность электрических импульсов (нулей и единиц). Программа драйвер клавиатуры и экрана обращается к кодовой таблице символов (например, Unicode, позволяющая закодировать 65536 символов), определяет какому символу соответствует полученный код и отображает его на экране. Таким образом, тексты и числа хранятся в памяти компьютера в двоичном коде, а программным способом преобразуются в изображения на экране.

Восьмеричная система счисления
8-я система счисления, как и двоичная, часто применяется в цифровой технике. Имеет основание 8 и использует для записи числа цифры от 0 до 7.

Пример восьмеричного числа: 254. Для перевода в 10-ю систему необходимо каждый разряд исходного числа умножить на 8 n , где n - это номер разряда. Получается, что 254 8 = 2*8 2 + 5*8 1 + 4*8 0 = 128+40+4 = 172 10 .

Шестнадцатеричная система счисления
Шестнадцатеричная система широко используется в современных компьютерах, например при помощи неё указывается цвет: #FFFFFF - белый цвет. Рассматриваемая система имеет основание 16 и использует для записи числа: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B. C, D, E, F, где буквы равны 10, 11, 12, 13, 14, 15 соответственно.

В качестве примера возьмем число 4F5 16 . Для перевода в восьмеричную систему - сначала преобразуем шестнадцатеричное число в двоичное, а затем, разбив на группы по 3 разряда, в восьмеричное. Чтобы преобразовать число в 2-е необходимо каждую цифру представить в виде 4-х разрядного двоичного числа. 4F5 16 = (100 1111 101) 2 . Но в 1 и 3 группах не достает разряда, поэтому заполним каждый ведущими нулями: 0100 1111 0101. Теперь необходимо разделить полученное число на группы по 3 цифры справа налево: 0100 1111 0101 = 010 011 110 101. Переведем каждую двоичную группу в восьмеричную систему, умножив каждый разряд на 2 n , где n - номер разряда: (0*2 2 +1*2 1 +0*2 0) (0*2 2 +1*2 1 +1*2 0) (1*2 2 +1*2 1 +0*2 0) (1*2 2 +0*2 1 +1*2 0) = 2365 8 .

Помимо рассмотренных позиционных систем счисления, существуют и другие, например:
1) Троичная
2) Четверичная
3) Двенадцатеричная

Позиционные системы подразделяются на однородные и смешанные.

Однородные позиционные системы счисления
Определение, данное в начале статьи, достаточно полно описывает однородные системы, поэтому уточнение - излишне.
Смешанные системы счисления
К уже приведенному определению можно добавить теорему: “если P=Q n (P,Q,n – целые положительные числа, при этом P и Q - основания), то запись любого числа в смешанной (P-Q)-ой системе счисления тождественно совпадает с записью этого же числа в системе счисления с основанием Q.”

Опираясь на теорему, можно сформулировать правила перевода из P-й в Q-ю системы и наоборот:

  1. Для перевода из Q-й в P-ю, необходимо число в Q-й системе, разбить на группы по n цифр, начиная с правой цифры, и каждую группу заменить одной цифрой в P-й системе.
  2. Для перевода из P-й в Q-ю, необходимо каждую цифру числа в P-й системе перевести в Q-ю и заполнить недостающие разряды ведущими нулями, за исключением левого, так, чтобы каждое число в системе с основанием Q состояло из n цифр.
Яркий пример - перевод из двоичной системы счисления в восьмеричную. Возьмем двоичное число 10011110 2 , для перевода в восьмеричное - разобьем его справа налево на группы по 3 цифры: 010 011 110, теперь умножим каждый разряд на 2 n , где n - номер разряда, 010 011 110 = (0*2 2 +1*2 1 +0*2 0) (0*2 2 +1*2 1 +1*2 0) (1*2 2 +1*2 1 +0*2 0) = 236 8 . Получается, что 10011110 2 = 236 8 . Для однозначности изображения двоично-восьмеричного числа его разбивают на тройки: 236 8 = (10 011 110) 2-8 .

Смешанными системами счисления также являются, например:
1) Факториальная
2) Фибоначчиева

Перевод из одной системы счисления в другую

Иногда требуется преобразовать число из одной системы счисления в другую, поэтому рассмотрим способы перевода между различными системами.
Преобразование в десятичную систему счисления
Имеется число a 1 a 2 a 3 в системе счисления с основанием b. Для перевода в 10-ю систему необходимо каждый разряд числа умножить на b n , где n - номер разряда. Таким образом, (a 1 a 2 a 3) b = (a 1 *b 2 + a 2 *b 1 + a 3 *b 0) 10 .

Пример: 101 2 = 1*2 2 + 0*2 1 + 1*2 0 = 4+0+1 = 5 10

Преобразование из десятичной системы счисления в другие
Целая часть:
  1. Последовательно делим целую часть десятичного числа на основание системы, в которую переводим, пока десятичное число не станет равно нулю.
  2. Полученные при делении остатки являются цифрами искомого числа. Число в новой системе записывают, начиная с последнего остатка.
Дробная часть:
  1. Дробную часть десятичного числа умножаем на основание системы, в которую требуется перевести. Отделяем целую часть. Продолжаем умножать дробную часть на основание новой системы, пока она не станет равной 0.
  2. Число в новой системе составляют целые части результатов умножения в порядке, соответствующем их получению.
Пример: переведем 15 10 в восьмеричную:
15\8 = 1, остаток 7
1\8 = 0, остаток 1

Записав все остатки снизу вверх, получаем итоговое число 17. Следовательно, 15 10 = 17 8 .

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

В качестве примера возьмем число 1001 2: 1001 2 = 001 001 = (0*2 2 + 0*2 1 + 1*2 0) (0*2 2 + 0*2 1 + 1*2 0) = (0+0+1) (0+0+1) = 11 8

Для перевода в шестнадцатеричную - разбиваем двоичное число на группы по 4 цифры справа налево, затем - аналогично преобразованию из 2-й в 8-ю.

Преобразование из восьмеричной и шестнадцатеричной систем в двоичную
Перевод из восьмеричной в двоичную - преобразуем каждый разряд восьмеричного числа в двоичное 3-х разрядное число делением на 2 (более подробно о делении см. выше пункт “Преобразование из десятичной системы счисления в другие”), недостающие крайние разряды заполним ведущими нулями.

Для примера рассмотрим число 45 8: 45 = (100) (101) = 100101 2

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

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

Преобразование осуществляется также, как и для целых частей, за исключением того, что цифры числа умножаются на основание в степени “-n”, где n начинается от 1.

Пример: 101,011 2 = (1*2 2 + 0*2 1 + 1*2 0), (0*2 -1 + 1*2 -2 + 1*2 -3) = (5), (0 + 0,25 + 0,125) = 5,375 10

Преобразование дробной части двоичной системы в 8- и 16-ую
Перевод дробной части осуществляется также, как и для целых частей числа, за тем лишь исключением, что разбивка на группы по 3 и 4 цифры идёт вправо от десятичной запятой, недостающие разряды дополняются нулями справа.

Пример: 1001,01 2 = 001 001, 010 = (0*2 2 + 0*2 1 + 1*2 0) (0*2 2 + 0*2 1 + 1*2 0), (0*2 2 + 1*2 1 + 0*2 0) = (0+0+1) (0+0+1), (0+2+0) = 11,2 8

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

Для примера переведем 10,625 10 в двоичную систему:
0,625*2 = 1,25
0,250*2 = 0,5
0,5*2 = 1,0
Записав все остатки сверху вниз, получаем 10,625 10 = (1010), (101) = 1010,101 2

Т.В. Сарапулова, И.Е. Трофимов

НЕПОЗИЦИОННЫЕ И СМЕШАННЫЕ
СИСТЕМЫ СЧИСЛЕНИЯ

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

Кемерово 2012


Рецензенты:

1. Прокопенко Евгения Викторовна, кандидат физико-математических наук, доцент кафедры прикладных информационных технологий.

2. Соколов Игорь Александрович, кандидат технических наук, доцент, заведующий кафедрой прикладных информационных технологий, председатель УМК направления 230700.62 «Прикладная информатика».

Сарапулова Татьяна Викторовна, Трофимов Иван Евгеньевич. Непозиционные и смешанные системы счисления: метод. указания для самостоятельной работы по дисциплине «Информационные системы и технологии» [электронный ресурс] : для студентов направления подготовки бакалавров 230700.62 «Прикладная информатика»/ Т. В. Сарапулова, И. Е. Трофимов. – Электрон. дан. – Кемерово: КузГТУ, 2012. – 1 электрон. опт. диск (CD-ROM) ; зв. ; цв. ; 12 см. – Систем. требования: ОЗУ 64 Мб; Windows XP/Vista/7 ; (CD-ROM-дисковод). – Загл. с экрана.

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

Ó Сарапулова Т.В, Трофимов И.Е.


ВВЕДЕНИЕ.. 4

1. НЕПОЗИЦИОННЫЕ СИСТЕМЫ СЧИСЛЕНИЯ.. 5

1.1. Римская система счисления. 6

1.2. Система остаточных классов (СОК) 6

1.3. Система счисления Штерна-Броко. 8

2. СМЕШАННЫЕ СИСТЕМЫ СЧИСЛЕНИЯ.. 9

2.1. Система счисления майя. 10

2.2. Факториальная система счисления. 10

2.3. Фибоначчиева система счисления. 11


Целью данной самостоятельной работы является изучение непозиционных и смешанных систем счисления.

ВВЕДЕНИЕ

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

Проведём границу между числом и цифрой. Число – это некоторая абстрактная сущность для описания количества. Цифры – это знаки, используемые для записи чисел. Цифры бывают разные, самыми распространёнными являются арабские цифры, представляемые известными нам знаками от нуля (0) до девяти (9); менее распространены римские цифры, мы их можем иногда встретить на циферблате часов или в обозначении века (XIX век).

Итак, запомним: число это некая абстрактная мера количества , цифра это знак (рисунок) для записи числа .

Всё множество способов записи чисел с помощью цифр можно разделить на три части:

1. позиционные системы счисления;

2. смешанные системы счисления;

3. непозиционные системы счисления.

Денежные знаки – это яркий пример смешанной системы счисления. Сейчас в России используются монеты и купюры следующих номиналов: 1 коп., 5 коп., 10 коп., 50 коп., 1 руб., 2 руб., 5 руб., 10 руб., 50 руб., 100 руб., 500 руб., 1000 руб. и 5000 руб. Чтобы получить некоторую сумму в рублях, нам нужно использовать определенное количество денежных знаков различного достоинства. Предположим, что мы покупаем пылесос, который стоит 6379 руб. Чтобы расплатиться, нам потребуется шесть купюр по тысяче рублей, три купюры по сто рублей, одна пятидесятирублёвая купюра, две десятки, одна пятирублёвая монета и две монеты по два рубля. Если мы запишем количество купюр или монет начиная с 1000 руб. и заканчивая одной копейкой, заменяя нулями пропущенные номиналы, то мы получим число, представленное в смешанной системе счисления; в нашем случае – 603121200000.

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

НЕПОЗИЦИОННЫЕ СИСТЕМЫ СЧИСЛЕНИЯ

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

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

Римская система счисления

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

I обозначает 1, V – 5, X – 10, L – 50, C – 100, D – 500, M – 1000.

Например, II = 1 + 1 = 2, здесь символ I обозначает 1 независимо от места в числе.

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

О происхождении римских цифр достоверных сведений нет. Цифра V могла первоначально служить изображением кисти руки, а цифра Х могла составиться из двух пятерок. В римской нумерации явно прослеживаются следы пятеричной системы счисления.

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

VI = 6, т.е. 5 + 1, в то время как IV = 4, т.е. 5 – 1;

XL = 40, т.е. 50 – 10, в то время как LX = 60, т.е. 50 + 10.

Подряд одна и та же цифра в римской системе ставится не более трех раз: LXX = 70; LXXX = 80; число 90 записывается ХС (а не LXXXX).

Первые 12 чисел записываются в римских цифрах так: I, II, III, IV, V, VI, VII, VIII, IX, X, XI, XII.

Другие же числа записываются, например, как: XXVIII = 28; XXXIX = 39; CCCXCVII = 397; MDCCCXVIII = 1818.

Задавшись вопросом о том, сколько же чисел можно записать в римской системе, мы быстро обнаружим, что их диапазон простирается от 1 (I) до 3999 (MMMCMXCIX). Столь узкий диапазон чисел серьезно ограничивает применение системы в современной жизни, где счет идет на миллионы.

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


Похожая информация.


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


Язык для наименования, записи чисел и выполнения действий над ними называют системой счисления.


Называть числа и вести счет люди научились еще до появления письменности. В этом им помогали, прежде всего, пальцы рук и ног. Издревле употреблялся еще такой вид инструментального счета, как деревянные палочки с зарубками, шнуры и веревки с узлами. Веревочные счеты с узелками употреблялись в России и во многих странах Европы.


Способ «записи» чисел при помощи зарубок или узлов был не слишком удобным, так как для записи больших чисел приходилось делать много зарубок или узлов, что затрудняло не только запись, но и сравнение чисел друг с другом, трудно было выполнять и действия над ними. Поэтому возникли иные, более экономичные записи чисел: счет стали вести группами, состоящими из одинакового числа элементов. Наряду с группами по 10 элементов встречались группы по 5, 12, 20 элементов. Так, счет двадцатками использовали люди племени майя. «Следы» такого счета сохранились в датском и некоторых других европейских языках. Иногда применялся счет пятками, а также группами по 12 элементов. В Древнем Вавилоне считали группами по 60 единиц. Например, число 185 представлялось как 3 раза по 60 и еще 5. Записывалось такое число с помощью всего двух знаков, один из которых обозначал, сколько раз взято по 60, а другой - сколько взято единиц. Древневавилонская система используется до сих пор при измерении времени и углов в минутах и секундах.


Наибольшее распространение получила десятичная система записи чисел. Эта система, принятая сейчас почти всюду, основана на группировании десятками и берет свое начало от счета на пальцах. Десятичная система счисления возникла в Индии, в VI в. Однако вид индийских цифр значительно отличается от современной их записи. В течение многих столетий, переходя от народа к народу, старинные индийские цифры много раз изменялись, пока приняли современную форму.


Первыми заимствовали у индийцев цифры и десятичную систему счисления арабы. Распространению же этого способа записи чисел и правил выполнения арифметических действий над числами способствовала книга среднеазиатского ученого аль-Хорезми «Об индийском счете», созданная им в начале IX в.


Европейцы познакомились с достижениями индо-арабской математики в XI в. Расширение торговли повлекло за собой значительное усложнение счета, появилась потребность в совершенствовании методов счета. Поэтому европейские математики обратились к трудам греческих и арабских ученых, перевели их на латинский язык. С десятичной системой счисления европейцы познакомились через перевод книги аль-Хорезми. В 1202 г. выходит «Книга абака» Л. Фибоначчи, где также вводятся индийские цифры и нуль. С XIII в. начинается внедрение десятичной системы, и к XVI в. она стала повсеместно использоваться в странах Западной Европы.


Распространению десятичной системы в России способствовала книга первого русского выдающегося педагога-математика Л.Ф.Магницкого «Арифметика, сиречь наука числительная», вышедшая в 1703 г. на славянском языке. Она являлась энциклопедией математических знаний того времени. Все вычисления в ней проводятся при помощи цифр индийской нумерации. В «Арифметике» выделено особое действие «нумерация, или счисление»: «Нумерация есть счисление (называние) словами всех чисел, которые изображаемы быть могут десятью такими знаками: 1,2,3, 4, 5, 6, 7, 8, 9, 0. Из них девять значащих; последняя же 0 (которая цифрой или ничем именуется), если стоит одна, то сама по себе значения не имеет. Когда же она присоединяется к какой-нибудь значащей, то увеличивает в десять раз, как будет показано в дальнейшем». Однозначные числа в книге Л.Ф.Магницкого называются «перстами»; числа, составленные из единиц и нулей, - «суставами»; все остальные числа - «сочинениями». Таблица с названиями круглых чисел доведена Магницким до числа с 24 нулями. В «Арифметике» в стихотворной форме подчеркнуто: «Число есть бесконечно...»

Непозиционные системы счисления

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


Непозиционные системы характеризуются тем, что каждый знак (из совокупности знаков, принятых в данной системе для обозначения чисел) всегда обозначает одно и то же число, независимо от места (позиции), занимаемого этим знаком в записи числа. Примером такой системы может служить римская система, возникшая в средние века. В этой системе счисления имеются знаки для узловых чисел: единица обозначается - I, пять - V, пятьдесят - L, сто - С, пятьсот - D, тысяча - М. Все остальные числа получаются при помощи двух арифметических операций: сложения и вычитания. Вычитание производится тогда, когда знак, соответствующий меньшему узловому числу, стоит перед знаком большего узлового числа. Например, IV - четыре, ХС - девяносто. Запишем несколько чисел в римской нумерации.


193 - это сто (С) плюс девяносто, т.е. сто без десяти (ХС), плюс три (III); следовательно, число 193 записывается как СХСШ.


564 - это пятьсот (D) плюс пятьдесят (L) плюс десять (X) плюс, четыре, т.е. пять без одного (IV). Следовательно, 564 записывается как DLXIV.


2708 - это две тысячи (ММ) плюс пятьсот (D) плюс сто (С) плюс сто (С) плюс пять (V) плюс три (III). Следовательно, число 2708 записывается так: MMDCCVIII.


Если число содержит несколько (немного) тысяч, то для его записи в римской нумерации пользуются повторением знака М. Вообще же числа четырех-, пяти- и шестизначные записывались с помощью буквы m (от лат. слова mille - тысяча), слева от которой записывали тысячи, а справа - сотни, десятки, единицы. Так, запись CXXXIIImDCCCXLII является записью числа 133842.


В России до XVII в. в основном употреблялась славянская нумерация, более стройная и удобная, чем римская, но тоже непозиционная. В ней числа изображались буквами славянского алфавита, над которыми для отличия ставили особый знак - титло.


Естественно, что такие системы записи чисел, как римская или славянская, были удобнее, чем зарубки на бирках, поскольку позволяли записывать большие числа. Однако выполнение действий над ними в таких системах было весьма сложным делом. Поэтому на смену им пришла десятичная система счисления.

Единичная система счисления

Необходимость в записи чисел стала возникать у людей еще в древности после того, как они научились считать. Свидетельством этого являются археологические находки в местах стойбищ первобытных людей, которые относятся к периоду палеолита ($10$-$11$ тыс. лет до н.э.). Изначально количество предметов изображали, используя определенные знаки: черточки, насечки, кружочки, нанесенные на камни, дерево или глину, а также узлы на веревках.

Рисунок 1.

Ученые эту систему записи чисел называют единичной (унарной) , поскольку число в ней образовано повторением одного знака, который символизирует единицу.

Недостатки системы:

    при написании большого числа необходимо использовать большое количество палочек;

    возможно легко ошибиться при нанесении палочек.

Позднее, чтобы облегчить счет, эти знаки люди стали объединять.

Пример 1

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

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

Вот некоторые примеры.

Древнеегипетская десятичная непозиционная система счисления

Данная система счисления появилась около 3000 лет до н.э. в результате того, что жители Древнего Египта придумали свою числовую систему, в которой при обозначении ключевых чисел $1$, $10$, $100$ и т.д. были использованы иероглифы, что было удобным при написании на глиняных дощечках, которые заменяли бумагу. Другие числа составлялись из них с помощью сложения. Сначала записывалось число высшего порядка, а затем низшего. Умножали и делили египтяне, последовательно удваивая числа. Каждая цифра могла повторяться до $9$ раз. Примеры чисел данной системы приведены ниже.

Рисунок 2.

Римская система счисления

Данная система принципиально не намного отличается от предыдущей и сохранилась до наших дней. В ее основе находятся знаки:

    $I$ (один палец) для числа $1$;

    $V$ (раскрытая ладонь) для числа $5$;

    $X$ (две сложенные ладони) для $10$;

    для обозначения чисел $100$, $500$ и $1000$ использовались первые буквы соответствующих латинских слов (Сentum – сто, Demimille – половина тысячи, Мille – тысяча).

При составлении чисел римляне использовали следующие правила:

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

    Число равно разности значений двух «цифр», если слева от большей стоит меньшая. В этом случае от значения большей отнимается значение меньшей. Вместе они образуют группу второго вида. При этом левая «цифра» может быть меньше правой максимально на $1$ порядок: перед $L(50)$ и $C(100$) из «младших» может стоять только $Х(10$), перед $D(500$) и $M(1000$) – только $C(100$), перед $V(5) – I(1)$.

    Число равно сумме значений групп и «цифр», не вошедших в группы $1$ или $2$ вида.

Рисунок 3.

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

Алфавитные системы счисления

Данные системы счисления более совершенны. К ним относятся греческая, славянская, финикийская, еврейская и другие. В этих системах числа от $1$ до $9$, а также количество десятков (от $10$ до $90$), сотен (от $100$ до $900$) были обозначены буквами алфавита.

В древнегреческой алфавитной системе счисления числа $1, 2, ..., 9$ обозначались первыми девятью буквами греческого алфавита, и т.д. Для обозначения чисел $10, 20, ..., 90$ применялись следующие $9$ букв а для обозначения чисел $100, 200, ..., 900$ – последние $9$ букв.

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

Рисунок 4.

Замечание 1

Алфавитная система использовалась и в древней Руси. До конца $XVII$ века в качестве цифр использовались $27$ букв кириллицы.

Непозиционные системы счисления имеют ряд существенных недостатков:

    Существует постоянная потребность введения новых знаков для записи больших чисел.

    Невозможно представлять дробные и отрицательные числа.

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