Какая у нас система счисления. Разновидности систем счисления. Десятичная древнеегипетская система счисления

Какая у нас система счисления. Разновидности систем счисления. Десятичная древнеегипетская система счисления
Какая у нас система счисления. Разновидности систем счисления. Десятичная древнеегипетская система счисления

Изучая кодировки, я понял, что недостаточно хорошо понимаю системы счислений. Тем не менее, часто использовал 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

Лабораторная работа 1. «Системы счисления»

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

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

Две первые представляют скорее исторический интерес, поскольку имеют весьма ограниченное применение в настоящее время.

Унарная система счисления

Унарная система счисления – это система счисления, в которой для записи чисел используется только один знак – 1 («палочка»).

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

Именно такая система применяется для начального обучения счету детей (можно вспомнить «счетные палочки»).

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

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

Непозиционная система счисления - система, в которой символы, обозначающие то или иное количество, не меняют сво­его значения в зависимости от местоположения (позиции) в изоб­ражении числа.

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

В ней некоторые базовые числа обозначены заглавными латинскими буквами:

1 – I, 5 – V, 10 – X, 50 – L , 100 – C, 500 – D, 1000 – M.

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

    если цифра слева меньше, чем цифра справа, то левая цифра вычитается из правой;

    если цифра справа меньше или равна цифре слева, то эти цифры складываются;

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

Наконец, отсутствие нуля и знаков для чисел больше M не позволяют римскими цифрами записать любое число (хотя бы натуральное). Используется эта система для нумерации.

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

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

Упорядоченный набор символов (цифр) 0 , a v ..., а п ), используемый для представления любых чисел в заданной позиционной си­стеме счисления, называют ееалфавитом, число символов (цифр)алфавита р = п + 1 - ее основанием, а саму систему счисления называютр -ричной.

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

Самой привычной для нас является десятичная система счисле­ния. Ее алфавит - {0, 1, 2, 3, 4, 5, б, 7, 8, 9}, а основание р = 10, т. е. в этой системе для записи любых чисел используется только десятьразных символов (цифр). Десятичная система счисления основана на том, что 10 единиц каж­дого разряда объединяются в одну единицу соседнего старшего разряда, поэтому каждый разряд имеет вес, равный степени 10. Сле­довательно, значение одной и той же цифры определяется ее местоположением в изображении числа, характеризуемым степенью числа 10. Например, в изображении числа 222.22 цифра 2 повторяется5 раз, при этом первая слева цифра 2 означает количество сотен (ее вес равен 10 2); вторая - количество десятков (ее вес равен 10 1), третья - количество единиц (ее вес равен 10 0), четвертая - количество десятых долей единицы (ее вес равен 10 -1) и пятая цифра - количество сотых долей единицы (ее вес равен 10 -2), т. е. число 222.22 может быть разложено по степеням числа 10:

222.22 = 2 10 2 + 2 10 1 + 2 10° + 2 10 -1 + 2 10 -2 .

Аналогично 725 = 7 10 2 + 2 10 1 + 5 10°;

1304.5 = 1 10 3 + 3 10 2 + 0 10 1 + 4 10° + 5 10 -1 ,

50328.15 = 5 10 4 + 0 10 3 + 3 10 2 + 2 10 1 + 8 10° + 1 10 -1 + 5 10 -2 .

В общем случае для задания р -ричной системы счисления необходимо определить основание р и алфавит, состоящий из р различ­ных символов (цифр)а р i = 1,...,р.

Любое число X p можно представить в виде поли­нома путем разложения его по степеням числаp :

последовательность из коэффициентов которого представляет со­бой сокращенную запись числа X p :

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

Методы перевода чисел. Представление чисел в различных системах счисления

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

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

Алгоритм перевода целых чисел из q -ричной системы в p -ричную, при q > p

Для замены исходного числа X q равным ему числом X p нужно по правилам q -ричной арифметики целочисленно делить X q на новое основание p . Результаты деления, записанные в порядке от последнего к первому, и окажутся цифрами X p .

Поскольку коэффициенты многочлена неизвестны, обозначим их a i ; получаем:

Обычно описанную процедуру представляют в виде привычной по школе операции деления:

Таким образом, получили X 5 =443.

Проверяем правильность перевода: 4*5 2 +4*5 1 +3*5 0 =100+20+3=123 10 .

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

Алгоритм перевода целых чисел из q -ричной системы в p -ричную, при q < p

Для перевода необходимо представить число X q p -ричной арифметики.

X 6  X 10 , Х= 234 6

234 6 = 26 2 +36 1 +46 0 = 236+36+41 = 94 10

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

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

По этой причине переход, например X 3  X 8 проще осуществить через промежуточный переход к 10-ной системе X 3  X 10  X 8 .

Алгоритм перевода правильной дроби при q > p

Результатом перевода правильной дроби 0,X q будет также правильная дробь 0,X p , которая получится в результате умножения исходной дроби на новое основание p по правилам q -ричной арифметики; целая часть полученного произведения будет цифрой старшего разряда новой дроби; дробную часть полученного произведение следует снова умножить на p и т.д.

Пример: 0,X 10  0,X 2 . 0,Х=0,375 10

Тогда для получения 0,X 2:

0,375*2 = 0 ,750

0,75*2 = 1 ,50

0,5*2 = 1 ,0

Таким образом, 0,375 10 = 0,011 2 .

Проверяем 0,011=0*2 -1 +1*2 -2 +1*2 -3 =0,25+1,125=0,375 10

Алгоритм перевода правильной дроби при q < p

Для перевода X q X p необходимо представить число X q в форме многочлена и выполнить все операции по правилам p -ричной арифметики.

Пример: X 6  X 10 , Х 6 =0,234 6

Для этого

0,234 6 = 26 -1 +36 -2 +46 -3 =0,33(3)+0,083(3)+0,01(851)= 0,43517 10

Проверяем:

0, 43517*6=2 ,61102

0, 61102*6=3, 66612

0,66612*6=3,996724 ,0 {погрешность вычислений в случае получения иррациональных чисел}

Пример: X 2  X 10 , Х=0,10101 2

Для этого

0, 10101 2 = 12 -1 +02 -2 +12 -3 +02 -4 +12 -5 = 0,5+0,125+0,03125= 0,65625 10.

Проверяем:

0,65625*2=1 ,3125

0,3125*2=0, 625

0,625*2=1 ,25

0,25*2=0 ,5

0,5*2=1 ,0 . Все верно

Перевод чисел между системами счисления 2 – 8 – 16

Примеры изображения чисел в данных системах счисления приведены в таблице 1

Таблица 1. Системы счисления

десятичная

двоичная

десятичная

двоичная

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

Например, для перевода числа 110001 2 в систему счисления p=8, нужно разбить исходное число на группы по три разряда справа налево (8 = 2 3 , следовательно, r = 3) и перевести в 8-ричную систему счисления: 110001 2 =61 8 . Проверяем 110001 2 =32+16+1=49 10 , 6*8 1 +1*8 0 =49 10

Аналогично, разбивая на группы по 4 двоичные цифры, получим 110001 2 = 31 16 .

Для перевода целого числа, записанного в системе счисления с основанием p = 2 r , в двоичную систему достаточно каждую цифру исходного числа независимо заменить соответствующим r -разрядным двоичным числом, дополняя его при необходимости незначащими нулями до группы в r цифр.

Пример: представим число D3 16 в двоичной системе счисления:

Пример, 123 8 = 001010011 2 = 53 16 .

Задания для самостоятельного выполнения

    Переведите число X p p-ричной системы счисления вX q q-ричной системы счисления

    X 5  X 10 , где X 5 =123

    X 3  X 10 , где X 3 =102

    X 10  X 4 , где X 10 =123

    X 10  X 6 , где X 10 =548

    X 5  X 3 , где X 3 =421

    X 2  X 6 , где X 2 =0111001

    X 2  X 16 , где X 2 =10011

    X 2  X 8 , где X 2 =101010

    X 16  X 2 , где X 16 =AD3

    X 8  X 2 , где X 8 =5470

II. Переведите десятичное число в двоичное:

    743 10 , b) 334.12 10 , c) 61.375, d) 160.25 10 , e) 131.82 10

III. Переведите десятичное число в шестнадцатеричное число:

    445 10 , b) 334.12 10 , c) 261.375, d) 160.25 10 , e) 131.82 10

Единичная (унарная) система счисления Список систем счисления

Система счисления:

  • даёт представления множества чисел (целых и/или вещественных);
  • даёт каждому числу уникальное представление (или, по крайней мере, стандартное представление);
  • отражает алгебраическую и арифметическую структуру чисел.

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

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

В позиционных системах счисления один и тот же числовой знак (цифра) в записи числа имеет различные значения в зависимости от того места (разряда), где он расположен. Изобретение позиционной нумерации, основанной на поместном значении цифр, приписывается шумерам и вавилонянам ; развита была такая нумерация индусами и имела неоценимые последствия в истории человеческой цивилизации. К числу таких систем относится современная десятичная система счисления , возникновение которой связано со счётом на пальцах. В средневековой Европе она появилась через итальянских купцов, в свою очередь заимствовавших её у мусульман.

Под позиционной системой счисления обычно понимается -ричная система счисления, которая определяется целым числом , называемым основанием системы счисления. Целое число без знака в -ричной системе счисления представляется в виде конечной линейной комбинации степеней числа :

, где - это целые числа, называемые цифрами , удовлетворяющие неравенству .

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

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

Например, число сто три представляется в десятичной системе счисления в виде:

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

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

Смешанные системы счисления

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

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

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

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

Наиболее известным примером смешанной системы счисления является представление времени в виде количества суток, часов, минут и секунд. При этом величина « дней, часов, минут, секунд» соответствует значению секунд.

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

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

, где .

Факториальная система счисления используется при декодировании перестановок списками инверсий : имея номер перестановки, можно воспроизвести её саму следующим образом: число, на единицу меньшее номера (нумерация начинается с нуля) записывается в факториальной системе счисления, при этом коэффициент при числе i! будет обозначать число инверсий для элемента i+1 в том множестве, в котором производятся перестановки (число элементов меньших i+1, но стоящих правее его в искомой перестановке)

Пример: рассмотрим множество перестановок из 5 элементов, всего их 5! = 120 (от перестановки с номером 0 - (1,2,3,4,5) до перестановки с номером 119 - (5,4,3,2,1)), найдём 101-ую перестановку: 100 = 4!*4 + 3!*0 + 2!*2 + 1!*0 = 96 + 4; положим ti - коэффициент при числе i!, тогда t4 = 4, t3 = 0, t2 = 2, t1 = 0 , тогда: число элементов меньших 5, но стоящих правее равно 4; число элементов меньших 4, но стоящих правее равно 0; число элементов меньших 3, но стоящих правее равно 2; число элементов меньших 2, но стоящих правее равно 0 (последний элемент в перестановке «ставится» на единственное оставшееся место) - таким образом, 101-я перестановка будет иметь вид: (5,3,1,2,4) Проверка данного метода может быть осуществлена путём непосредственного подсчёта инверсий для каждого элемента перестановки.

Фибоначчиева система счисления основывается на числах Фибоначчи . Каждое натуральное число в ней представляется в виде:

, где - числа Фибоначчи, , при этом в коэффициентах есть конечное количество единиц и не встречаются две единицы подряд.

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

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

Биномиальная система счисления

Представление, использующее биномиальные коэффициенты

, где .

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

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

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

В СОК арифметические операции (сложение, вычитание, умножение, деление) выполняются покомпонентно, если про результат известно, что он является целочисленным и также лежит в .

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

Система счисления Штерна–Броко - способ записи положительных рациональных чисел, основанный на дереве Штерна–Броко .

Системы счисления разных народов

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

По-видимому, хронологически первая система счисления каждого народа, овладевшего счётом. Натуральное число изображается путём повторения одного и того же знака (чёрточки или точки). Например, чтобы изобразить число 26, нужно провести 26 чёрточек (или сделать 26 засечек на кости, камне и т.д.). Впоследствии, ради удобства восприятия больших чисел, эти знаки группируются по три или по пять. Затем равнообъёмные группы знаков начинают заменяться каким-либо новым знаком - так возникают прообразы будущих цифр.

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

Вавилонская система счисления

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

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

Еврейская система счисления

Греческая система счисления

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

Каноническим примером почти непозиционной системы счисления является римская, в которой в качестве цифр используются латинские буквы:
I обозначает 1,
V - 5,
X - 10,
L - 50,
C - 100,
D - 500,
M - 1000

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

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

IV = 4, в то время как:
VI = 6

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

См. также

Примечания

Ссылки

  • Гашков С. Б. Системы счисления и их применение . - М .: МЦНМО , 2004. - (Библиотека «Математическое просвещение»).
  • Фомин С. В. Системы счисления . - М .: Наука, 1987. - 48 с. - (Популярные лекции по математике).
  • Яглом И. Системы счисления // Квант . - 1970. - № 6. - С. 2-10.
  • Цифры и системы счисления . Онлайн Энциклопедия Кругосвет.
  • Стахов А. Роль систем счисления в истории компьютеров .
  • Микушин А. В. Системы счисления. Курс лекций "Цифровые устройства и микропроцессоры"
  • Butler J. T., Sasao T. Redundant Multiple-Valued Number Systems В статье рассмотрены системы счисления, использующие цифры больше единицы и допускающие избыточность в представлении чисел

Wikimedia Foundation . 2010 .

Известно множество способов представления чисел. В любом случае число изображается символом или группой символов (словом) некоторого алфавита. Такие символы называют цифрами.

Системы счисления

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

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

Как только люди начали считать, у них появилась потребность в записи чисел. Находки археологов на стоянках первобытных людей свидетельствуют о том, что первоначально количество предметов отображали равным количеством каких-либо значков (бирок): зарубок, черточек, точек. Позже, для облегчения счета, эти значки стали группировать по три или по пять. Такая система записи чисел называется единичной (унарной) , так как любое число в ней образуется путём повторения одного знака, символизирующего единицу. Отголоски единичной системы счисления встречаются и сегодня. Так, чтобы узнать, на каком курсе учится курсант военного училища, нужно сосчитать, какое количество полосок нашито на его рукаве. Сами того не осознавая, единичной системой счисления пользуются малыши, показывая на пальцах свой возраст, а счетные палочки используется для обучения учеников 1–го класса счету. Рассмотрим различные системы счисления.

Единичная система – не самый удобный способ записи чисел. Записывать таким образом большие количества утомительно, да и сами записи при этом получаются очень длинными. С течением времени возникли иные, более удобные, системы счисления.

Древнеегипетская десятичная непозиционная система счисления . Примерно в третьем тысячелетии до нашей эры древние египтяне придумали свою числовую систему, в которой для обозначения ключевых чисел 1, 10, 100 и т.д. использовались специальные значки – иероглифы. Все остальные числа составлялись из этих ключевых при помощи операции сложения. Система счисления Древнего Египта является десятичной, но непозиционной. В непозиционных системах счисления количественный эквивалент каждой цифры не зависит от ее положения (места, позиции) в записи числа. Например, чтобы изобразить 3252 рисовали три цветка лотоса (три тысячи), два свернутых пальмовых листа (две сотни), пять дуг (пять десятков) и два шеста (две единицы). Величина числа не зависела от того, в каком порядке располагались составляющие его знаки: их можно было записывать сверху вниз, справа налево или вперемежку.

Римская система счисления . Примером непозиционной системы, которая сохранилась до наших дней, может служить система счисления, которая применялась более двух с половиной тысяч лет назад в Древнем Риме. В основе римской системы счисления лежали знаки I (один палец) для числа 1, V (раскрытая ладонь) для числа 5, X (две сложенные ладони) для 10, а для обозначения чисел 100, 500 и 1000 стали применять первые буквы соответствующих латинских слов (Сentum – сто, Demimille – половина тысячи, Мille – тысяча). Чтобы записать число, римляне разлагали его на сумму тысяч, полутысяч, сотен, полусотен, десятков, пятков, единиц. Например, десятичное число 28 представляется следующим образом:

XXVIII=10+10+5+1+1+1 (два десятка, пяток, три единицы).

Для записи промежуточных чисел римляне использовали не только сложение, но и вычитание. При этом применялось следующее правило: каждый меньший знак, поставленный справа от большего, прибавляется к его значению, а каждый меньший знак, поставленный слева от большего, вычитается из него. Например, IX – обозначает 9, XI – обозначает 11.

Десятичное число 99 имеет следующее представление:

XCIХ = –10+100–1+10.

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

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

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

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

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

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

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

В позиционных системах счисления – количественный эквивалент каждой цифры зависит от ее положения (позиции) в коде(записи) числа. Ныне мы привыкли пользоваться десятичной позиционной системой - числа записываются с помощью 10 цифр. Самая правая цифра обозначает единицы, левее - десятки, ещё левее - сотни и т.д.

Например: 1) шестидесятеричная (Древний Вавилон)– первая позиционная система счисления. До сих пор при измерении времени используется основание равное 60 (1мин = 60с, 1ч = 60мин); 2) двенадцатеричная система счисления (широкое распространение получила в XIX в. число 12 – “дюжина”: в сутках две дюжины часов). Счёт не по пальцам, а по суставам пальцев. На каждом пальце руки, кроме большого, по 3 сустава – всего 12; 3) в настоящее время наиболее распространёнными позиционными системами счисления являются десятичная, двоичная, восьмеричная и шестнадцатеричная (широко используется в низкоуровневом программировании и вообще в компьютерной документации, поскольку в современных компьютерах минимальной единицей памяти является 8-битный байт, значения которого удобно записывать двумя шестнадцатеричными цифрами).

В любой позиционной системе число может быть представлено в виде многочлена.

Покажем, как представляют в виде многочлена десятичное число:

Типы систем счисления

Самое главное, что нужно знать о системе счисления – её тип: аддитивная или мультипликативная . В первом типе каждая цифра имеет своё значение, и для прочтения числа нужно сложить все значения использованных цифр:

XXXV = 10+10+10+5 = 35; CCXIX = 100+100+10–1+10 = 219;

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

(иероглифы по порядку: 2, 1000, 4, 100, 2, 10, 5)

Здесь дважды использован иероглиф “2”, и в каждом случае он принимал разные значения “2000” и “20”.

2´ 1000 + 4´ 100+2´ 10+5 = 2425

Для аддитивной (“добавительной”) системы нужно знать все цифры-символы с их значениями (их бывает до 4-5 десятков), и порядок записи. Например, в Латинской записи если меньшая цифра записана перед большей, то производится вычитание, а если после, то сложение (IV = (5–1) = 4; VI = (5+1) = 6).

Для мультипликативной системы нужно знать изображение цифр и их значение, а так же основание системы счисления. Определить основание очень легко, нужно только пересчитать количество значащих цифр в системе. Если проще, то это число, с которого начинается второй разряд у числа. Мы, например, используем цифры 0, 1, 2, 3, 4, 5, 6, 7, 8, 9. Их ровно 10, поэтому основание нашей системы счисления тоже 10, и система счисления называется “десятичная”. В вышеприведенном примере используются цифры 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 (вспомогательные 10, 100, 1000, 10000 и т. д. не в счет). Основных цифр здесь тоже 10, и система счисления – десятичная.

Как можно догадаться, сколько есть чисел, столько же может быть и оснований систем счисления. Но используются только самые удобные основания систем счисления. Как вы думаете, почему основание самой употребительной человеческой системы счисления 10? Да, именно потому, что на руках у нас 10 пальцев. “Но на одной то руке всего пять пальцев” – скажут некоторые и будут правы. История человечества знает примеры пятеричных систем счисления. “А с ногами – двадцать пальцев” – скажут другие, и будут тоже абсолютно правы. Именно так считали индейцы Майя. Это даже видно по их цифрам.

Очень интересно понятие “дюжина”. Всем известно, что это 12, но откуда появилось такое число – мало кто знает. Посмотрите на свои руки, вернее, на одну руку. Сколько фаланг на всех пальцах одной руки, не считая большого? Правильно, двенадцать. А большой палец предназначен отмечать отсчитанные фаланги.

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

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

Так у французов когда-то была двадцатеричная система счисления, поскольку 80 по-французски звучит как “четырежды двадцать”.

Римляне, или их предшественники использовали когда-то пятеричную систему, так как V ни что иное, как изображение ладони с отставленным большим пальцем, а X – это две таких же руки.

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

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

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

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

У Древних Египтян была весьма удобная система счисления, в ней были знаки обозначающие ключевые числа: 1, 10, 100 и т. д. Остальные числа записывали с помощью сложения. Обозначения некоторых чисел представлено в рисунке 1 .

Сейчас система не используется.

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

Эта система сохранилась без изменений до наших дней. Появилась она более чем две с половиной тысячи лет назад в Древнем Риме. В ее основе лежали знаки I (палец руки) для числа 1, V (пятерня) для числа 5, X (две руки) для числа 10. А для обозначения 100, 500 и 1000 применяли первые буквы латинских названий (centum - сто, demimille - половина тысячи, mille - тысяча). Для того чтобы записать число римляне использовали не только суммы, как египтяне, но и разность. Для этого применялось простое правило: каждый меньший знак стоящий после большего прибавляется к его значению, а стоящий перед большим знаком отнимается от его значения. Таким образом IX - обозначает 9, а XI - 11 .

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

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

К таким системам относятся: греческая, славянская, финская и другие. Здесь числа от 1 до 9, от 10 до 90 и от 100 до 900 обозначались буквами алфавита. В Древней Греции цифры обозначались первыми девятью буквами греческого алфавита. Числа от 10 до 90 - следующими девятью. И от 100 до 900 - последними девятью буквами римского алфавита. У славян числовые значения соответствовали буквам по порядку. Сначала для этого использовалась глаголица, а потом и кириллица. В России такая нумерация сохранилась до конца XVII века. Потом Петр I привез из-за границы арабскую нумерацию, которую мы используем по сей день .