Wi-Fi        29.11.2023   

Какие бывают непозиционные системы счисления. Непозиционные и позиционные системы счисления. Типы систем счисления

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

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

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

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

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

Различие между позиционной и непозиционной систем счисления легче всего понять на примере сравнения двух чисел. В позиционной системе счисления сравнение двух чисел происходит следующим образом: в рассматриваемых числах слева направо сравниваются цифры, стоящие в одинаковых позициях. Б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, практически не используются.

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

В непозиционных системах счисления значение цифры не зависит от положения в числе .

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

Пример 1. Число CCXXXII складывается из двух сотен, трех десятков и двух единиц и равно двумстам тридцати двум.

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

Пример 2.

VI = 5 + 1 = 6; IV = 5 – 1 = 4.

Пример 3.

MCMXCVIII = 1000 + (–100 + 1000) +

+ (–10 + 100) + 5 + 1 + 1 + 1 = 1998.

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

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

0, 1, 2, 3, 4, 5, 6, 7, 8, 9.

Позиционный характер этой системы легко понять на примере любого многозначного числа. Например, в числе 333 первая тройка означает три сотни, вторая - три десятка, третья - три единицы.

Для записи чисел в позиционной системе с основанием n нужно иметь алфавит из n цифр. Обычно для этого при n < 10 используют n первых арабских цифр, а при n > 10 к десяти арабским цифрам добавляют буквы. Вот примеры алфавитов нескольких систем:

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

101101 2 , 3671 8 , 3B8F 16 .

В системе счисления с основанием q (q -ичная система счисления) единицами разрядов служат последовательные степени числа q . q единиц какого-либо разряда образуют единицу следующего разряда. Для записи числа в q -ичной системе счисления требуется q различных знаков (цифр), изображающих числа 0, 1, ..., q – 1. Запись числа q в q -ичной системе счисления имеет вид 10.

Развернутая форма записи числа

Пусть Aq - число в системе с основанием q , аi - цифры данной системы счисления, присутствующие в записи числа A , n + 1 - число разрядов целой части числа, m - число разрядов дробной части числа:

Развернутой формой числа А называется запись в виде:

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

В следующих примерах приводится развернутая форма шестнадцатеричного и двоичного чисел:

В любой системе счисления ее основание записывается как 10.

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

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

Перевод целых чисел

Целое десятичное число X требуется перевести в систему с основанием q : X = (a n a n-1 a 1 a 0) q . Нужно найти значащие цифры числа: . Представим число в развернутой форме и выполним тождественное преобразование:

Отсюда видно, что a 0 есть остаток от деления числа X на число q . Выражение в скобках - целое частное от этого деления. Обозначим его за X 1. Выполняя аналогичные преобразования, получим:

Следовательно, a 1 есть остаток от деления X 1 на q . Продолжая деление с остатком, будем получать последовательность цифр искомого числа. Цифра an в этой цепочке делений будет последним частным, меньшим q .

Сформулируем полученное правило: для того чтобы перевести целое десятичное число в систему счисления с другим основанием, нужно :

1) основание новой системы счисления выразить в десятичной системе счисления и все последующие действия производить по правилам десятичной арифметики;

2) последовательно выполнять деление данного числа и получаемых неполных частных на основание новой системы счисления до тех пор, пока не получим неполное частное, меньшее делителя;

3) полученные остатки, являющиеся цифрами числа в новой системе счисления, привести в соответствие с алфавитом новой системы счисления;

4) составить число в новой системе счисления, записывая его, начиная с последнего частного.

Пример 1. Перевести число 37 10 в двоичную систему.

Для обозначения цифр в записи числа используем символику: a 5 a 4 a 3 a 2 a 1 a 0

Отсюда: 37 10 = l00l0l 2

Пример 2. Перевести десятичное число 315 в восьмеричную и в шестнадцатеричную системы:

Отсюда следует: 315 10 = 473 8 = 13B 16 . Напомним, что 11 10 = B 16 .

Десятичную дробь X < 1 требуется перевести в систему с основанием q : X = (0, a –1 a –2 … a –m+1 a –m) q . Нужно найти значащие цифры числа: a –1 , a –2 , …, a –m . Представим число в развернутой форме и умножим его на q :

Отсюда видно, что a –1 X на число q . Обозначим за X 1 дробную часть произведения и умножим ее на q :

Следовательно, a –2 есть целая часть произведения X 1 на число q . Продолжая умножения, будем получать последовательность цифр. Теперь сформулируем правило: для того чтобы перевести десятичную дробь в систему счисления с другим основанием, нужно :

1) последовательно умножать данное число и получаемые дробные части произведений на основание новой системы до тех пор, пока дробная часть произведения не станет равной нулю или не будет достигнута требуемая точность представления числа в новой системе счисления;

2) полученные целые части произведений, являющиеся цифрами числа в новой системе счисления, привести в соответствие с алфавитом новой системы счисления;

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

Пример 3. Перевести десятичную дробь 0,1875 в двоичную, восьмеричную и шестнадцатеричную системы.

Здесь в левом столбце находится целая часть чисел, а в правом - дробная.

Отсюда: 0,1875 10 = 0,0011 2 = 0,14 8 = 0,3 16

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

Двоичные вычисления

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

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

Рассмотрим правила вычитания и деления двоичных чисел. Операция вычитания является обратной по отношению к сложению. Из приведенной выше таблицы сложения следуют правила вычитания:

0 - 0 = 0; 1 - 0 = 1; 10 - 1 = 1.

Вот пример вычитания многозначных чисел:

Полученный результат можно проверить сложением разности с вычитаемым. Должно получиться уменьшаемое число.

Деление - операция обратная умножению. В любой системе счисления делить на 0 нельзя. Результат деления на 1 равен делимому. Деление двоичного числа на 10 2 ведет к перемещению запятой на один разряд влево, подобно десятичному делению на десять. Например:

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

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

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

Двоично-шестнадцатеричная таблица

Такая связь основана на том, что 16 = 2 4 и число различных четырехразрядных комбинаций из цифр 0 и 1 равно 16: от 0000 до 1111. Поэтому перевод чисел из шестнадцатеричных в двоичные и обратно производится путем формальной перекодировки по двоично-шестнадцатеричной таблице .

Вот пример перевода 32-разрядного двоичного кода в 16-ричную систему:

1011 1100 0001 0110 1011 1111 0010 1010 BC16BF2A

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

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

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

Уже в эпоху палеолита люди стремились группировать точки, полосы и насечки по 3,4,5, или 7. Такая группировка облегчала счет. В древности люди считали на пальцах, поэтому предметы стали группировать по 5 или 10. В дальнейшем десяток десятков получил особое название, десяток сотен - свое название. Для удобства записи числа стали обозначать особыми знаками. Поскольку в такой записи положение знака не играет роли, подобные системы счисления стали называть непозиционными. Непозиционные системы счисления использовали древние египтяне, греки и римляне. Непозиционные системы счисления были более или менее пригодны для выполнения операций сложения и вычитания, но совсем не удобны для умножения и деления.

Чтобы облегчить работу, использовали счетные доски – абаки.

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

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

К позиционной шестидесятеричной системе перешли вавилоняне. Долгое время в вавилонской системе счета не было нуля, т. е. знака для пропущенного разряда. Сначала это не создавало неудобств, но когда стали составлять обширные математические и астрономические таблицы, возникла необходимость в таком знаке. Следы вавилонской системы счисления сохранились до наших дней в порядке счета времени (1 ч=60 мин. , 1 мин. =60 сек.).

В V1 в. , точнее в 595г. индийцы создали способ записи, использующий лишь 9 цифр. Вместо нуля оставляли пустое место, а позднее ставили точку или маленький кружок. Особый знак для нуля появился в 1Х в. были выработаны правила выполнения арифметических операций над числами в десятичной системе счисления, не требовавшие использования абака, и этот способ записи распространился по всему миру. О десятичной системе счисления подробно рассказал среднеазиатский математик аль - Хорезми. Поскольку он написал свой труд на арабском языке, то системе в Европе дали неправильное название – «арабская».

Позиционные системы с произвольным основанием.

Мы привыкли к десятичной системе счисления. Компьютеру как нельзя лучше подходит двоичная система. Но иногда могут оказаться удобными системы с другими основаниями. Счёт на дюжины прекрасный тому пример. Здесь числовая база – степени числа 12.

В общем же случае представить произвольное число N в системе счисления с заданным основанием d означает записать его в виде где d – любое целое число, большее единицы. Коэффициенты a0, а1,аn называются цифрами в d – ичной записи N. Они могут принимать лишь d значений: 0,или 1, или 2, или d-1. Заметим, что в случае d > 10 придётся придумывать новые символы для цифр.

Для нахождения цифр числа по заданному числу N и основанию d можно воспользоваться следующим способом: сначала находят самое большое базовое число, не превосходящее N. Затем число N делят на d, в результате чего получают неполное частное an и остаток r n-1, т. е.

Остаток r n-1 уже меньше базового числа, поэтому делим r n-1 на d! И получаем неполное частное an-1 и остаток r n-2:

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

Отсюда видно, что цифры an an-1, a1 a0 могут быть найдены последовательно, начиная с младшего разряда, в результате следушего многошагового процесса: a0 равно остатку то деления N на d; a1 равно остатку от деления на d неполного частного, полученного на предыдущем шаге; an равно остатку от деления на d неполного частного, полученного на предыдущем шаге.

То. Что число N в d-ичной системе счисления выражается цифрами an an-1, a1 a0, записывается так:

Например: 26700 = (110100001001100)2 = (1323300)5.

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

Где p, q-натуральные числа. Число p называется числителем дроби, а число q-ее знаменателем.

Мы знаем, что дробь не изменится, если ее числитель и знаменатель умножить на одно и то же натуральное число n; другими словами, для любого натурального числа n справедливо равенство

Если числа p и q не имеют общих простых делителей, то дробь называется несократимой или правильной.

Если знаменатель q дроби равен 10 или 100, или 1000 и т. д. , то обыкновенную дробь можно записать в виде конечной десятичной дроби, каждая из которых называется десятичным разложением соответствующей обыкновенной дроби.

Очевидно также, что всякая конечная десятичная дробь может быть записана в виде обыкновенной дроби, где p-натуральное число, а q-некоторая степень числа 10.

Если знаменатель q обыкновенной дроби есть некоторая степень числа 10, то эта дробь может быть разложена в конечную десятичную дробь. Верно и обратное утверждение: конечная десятичная дробь представляет собой десятичное разложение обыкновенной дроби, знаменатель которой есть некоторая степень числа 10.

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

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

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

Если мы обращаемся к восьмеричной системе счисления, то это означает, что можно использовать гораздо больше цифр, чем это принято в двоичной, но меньше, чем в десятичной, а именно можно оперировать восемью цифрами: 0, 1, 2, 3, 4, 5, 6, 7 - и не более.

Логика конвертирования десятичных чисел в восьмеричные (кодирование в восьмеричную систему счисления) совершенно идентична приведенной выше.

Более подробная информация - в разд. "Запись целых чисел в двоичной системе счисления" данной главы.

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

Десятичное число "8" становится восьмеричным числом "10" ("восьмеричной десяткой"). Число "9" будет восьмеричным числом "11", число "10" - восьмеричным числом "12". И так далее до десятичного числа "15", которое в восьмеричном виде равно числу "17". А дальше?

Цифры снова кончились. Как будет представлено десятичное число "16" в восьмеричной системе счисления?

178 + 1 =. , но сумма "78 + 1" равняется "10" в восьмеричной системе счисления, а, следовательно, восьмеричный "десяток" необходимо складывать с "десятком", уже имеющимся, т. е. получается сумма, присутствующая в восьмеричной системе: "1 + 1 = 2". В результате получается, что

Представим эту информацию в виде таблицы (табл. 4. 4).

Таблица 4. 4. Соответствие десятичных и восьмеричных чисел

Десятичные числа Восьмеричные числа Десятичные числа Восьмеричные числа

0-7 0-7 25-63 31-77

9-15 11-17 128 200

17-23 21-27 512 1000

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

Система счисления - это определенный способ записи чисел и соответствующие ему правила действия над числами.

Системы счисления бывают позиционными и непозиционными.

В позиционной системе счисления величина, которую обозначает цифра в записи числа, зависит от позиции цифры в этом числе. Совокупность различных цифр, используемых в позиционной системе счисления для записи чисел, называется алфавитом системы счисления. Для представления цифр больше 10 используют латинские буквы (А=10, В=11). Основание системы счисления - это размер алфавита. Число в позиционной системе можно представить в виде суммы произведений составляющих его цифр на соответствующие степени основания системы.

Любая позиционная система вводится следующим образом. Выбирается основание р - целое число и алфавит из р цифр: О, 1, 2,. , р-1. Тогда любое число Х в этой системе представляется в виде суммы произведений:

Х = аn*рn + an-1*pn-1 + + a0*p0

Здесь Х - это число в системе с основанием p, имеющее n+1 цифру в целой части - это цифры из алфавита системы.

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

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

В позиционных системах значение записи целого числа определяется по следующему правилу: пусть a na n-1a n-2a 1a 0 - запись числа A, а i – цифры, тогда

A = a n·pn+a n-1·pn-1 +a n-2·pn-2+. +a 1·p1+ a0·p0 (1), где p - целое число большее 1, которое называется основанием системы счисления

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

1) Десятичная система p = 10 цифры: 0,1,2,3,4,5,6,7,8,9 число 5735 = 5·103+7·102+3·101+8·100

2) Троичная система p = 3 цифры: 0,1,2 число 2013 = 2·32+0·31+1·30

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

Представление отрицательных и дробных чисел:

Во всех позиционных системах для записи отрицательных чисел так же как и в десятичной системе используется знак ‘–‘. Для отделения целой части числа от дробной используется запятая. Значение записи a na n-1a n-2a 1a 0, a -1 a -2a m-2 a m-1a m числа A определяется по формуле, являющейся обобщением формулы (1):

A = an·pn+a n-1·p n-1+a n-2·p n-2++a1·p1+a0·p0+a-1·p-1+a -2·p-2++am-2·p–(m–2)+am–1·p–(m–1)+amp–m (2),

75,6 = 7·101+5·100+6·10–1

–2,3145 = –(2·50+3·5–1+1·5–2+4·5–3)

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

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

Перевод чисел из произвольной системы счисления в десятичную выполняется непосредственным вычислением по формуле (1) для целых и формуле (2) для дробных чисел.

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

Перевести число из десятичной системы в систему с основанием p – значит найти коэффициенты в формуле (2). Иногда это легко сделать простым подбором. Например, пусть нужно перевести число 23,5 в восьмеричную систему. Нетрудно заметить, что 23,5 = 16+7+0,5 = 2·8+7+4/8 = 2·81+7·80+4·8–1 =27,48. Понятно, что не всегда ответ столь очевиден. В общем случае применяется способ перевода отдельно целой и дробной частей числа.

Для перевода целых чисел применяется следующий алгоритм (полученный на основании формулы (1)):

1. Найдем частное и остаток от деления числа на p. Остаток будет очередной цифрой ai (j=0,1,2) записи числа в новой системе счисления.

2. Если частное равно нулю, то перевод числа закончен, иначе применяем к частному пункт 1.

Замечание 1. Цифры ai в записи числа нумеруются справа налево.

Замечание 2. Если p>10, то необходимо ввести обозначения для цифр с числовыми значениями, большими или равными 10.

Перевести число 165 в семеричную систему счисления.

165:7 = 23 (остаток 4) => a0 = 4

23:7 = 3 (остаток 2) => a1 = 2

3:7 = 0 (остаток 3) => a2 = 3

Выпишем результат: a2a1a0, т. е. 3247.

Выполнив проверку по формуле (1), убедимся в правильности перевода:

3247=3·72+2·71+4·70=3·49+2·7+4 = 147+14+4 = 165.

Для перевода дробных частей чисел применяется алгоритм, полученный на основании формулы (2):

1. Умножим дробную часть числа на p.

2. Целая часть результата будет очередной цифрой am (m = –1,–2, –3) записи числа в новой системе счисления. Если дробная часть результата равна нулю, то перевод числа закончен, иначе применяем к ней пункт 1.

Замечание 1. Цифры am в записи числа располагаются слева направо в порядке возрастания абсолютного значения m.

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

Перевести число 0,625 в двоичную систему счисления.

0,625·2 = 1,25 (целая часть 1) => a-1 =1

0,25·2 = 0,5 (целая часть 0) => a-2 = 0

0,5·2 = 1,00 (целая часть 1) => a-3 = 1

Итак, 0,62510 = 0,1012

Выполнив проверку по формуле (2), убедимся в правильности перевода:

0,1012=1·2-1+0·2-2+1·2-3=1/2+1/8 = 0,5+0,125 = 0,625.

Перевести число 0,165 в четверичную систему счисления, ограничившись четырьмя четверичными разрядами.

0,165·4 = 0,66 (целая часть 0) => a-1=0

0,66·4 = 2,64 (целая часть 2) => a-2= 2

0,64·4 = 2,56 (целая часть 2) => a-3= 2

0,56·4 = 2,24 (целая часть 2) => a-4= 2

Итак, 0,16510 ” 0,02224

Выполним обратный перевод, чтобы убедиться, что абсолютная погрешность не превышает 4–4:

0,02224 = 0·4-1+2·4-2+2·4-3+2·4-4= 2/16+2/64+2/256 = 1/8+1/32+1/128 = 21/128 = 0,1640625

0,1640625–0,165 = 0,00094

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

В этом случае сначала следует выполнить перевод числа в десятичную систему, а затем из десятичной в требуемую.

Особым способом выполняется перевод чисел для систем с кратными основаниями.

Пусть p и q – основания двух систем счисления. Будем называть эти системы системами счисления с кратными основаниями, если p = qn или q = pn, где n – натуральное число. Так, например, системы счисления с основаниями 2 и 8 являются системами счисления с кратными основаниями.

Пусть p = qn и требуется перевести число из системы счисления с основанием q в систему счисления с основанием p. Разобьем целую и дробную части записи числа на группы по n последовательно записанных цифр влево и вправо от запятой. Если количество цифр в записи целой части числа не кратно n, то надо дописать слева соответствующее количество нулей. Если количество цифр в записи дробной части числа не кратно n, то нули дописываются справа. Каждая такая группа цифр числа в старой системе счисления будет соответствовать одной цифре числа в новой системе счисления.

Переведем 1100001,1112 в четверичную систему счисления.

Дописав нули и выделив пары цифр, получим 01100001,11102.

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

Итак, 1100001,1112 = 01100001,11102 = 1201,324.

Пусть теперь требуется выполнить перевод из системы с большим основанием q, в систему с меньшим основанием p, т. е. q = pn. В этом случае одной цифре числа в старой системе счисления соответствует n цифр числа в новой системе счисления.

Пример: Выполним проверку предыдущего перевода числа.

1201,324 = 1100001,11102=1100001,1112

В шестнадцатеричной системе есть цифры с числовыми значениями 10,11,12, 13,14,15. Для их обозначения используют первые шесть букв латинского алфавита A, B, C, D, E, F.

Приведем таблицу чисел от 0 до 16, записанных в системах счисления с основаниями 10, 2, 8 и 16.

Число в десятичной системе счисления 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 В восьмеричной 0 1 2 3 4 5 6 7 10 11 12 13 14 15 16 17 20 В двоичной 0 1 10 11 100 101 110 111 1000 1001 1010 1011 1100 1101 1110 1111 10000 В шестнадцатеричной 0 1 2 3 4 5 6 7 8 9 A B C D E F 10 Для записи шестнадцатеричных цифр можно использовать также строчные латинские буквы a-f.

Пример: Переведем число 110101001010101010100,112 в шестнадцатеричную систему счисления.

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

000110101001010101010100,11002 и, сверяясь с таблицей, получим: 1A9554,C16

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

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

Двоичная система счисления. Бит и байт. Сегментация памяти.

Рассмотрим, как в памяти компьютера хранятся данные.

Вообще, как компьютер может хранить, например, слово "диск"? Главный принцип - намагничивание и размагничивание одной дорожки (назовем ее так). Одна микросхема памяти - это, грубо говоря, огромное количество дорожек. Сейчас попробуем разобраться. Например: нуль будет обозначаться как 0000 (четыре нуля), один 0001, два 0010,

(т. е. правую единицу заменяем на 0 и вторую устанавливаем в 1).

Уловили принцип? "0" и "1" - это т. н. биты. Один бит, как вы уже заметили, может быть нулем или единицей, т. е. размагничена или намагничена та или иная дорожка ("0" и "1" это условное обозначение). Если еще присмотреться, то можно заметить, что каждый следующий установленный бит (начиная справа) увеличивает число в два раза: 0001 в нашем примере = 1; 0010 два; 0100 четыре; 1000 восемь и т. д. Это и есть т. н. двоичная форма представления данных.

Т. о. чтобы обозначить числа от 0 до 9 нам нужно четыре бита (хоть они и не до конца использованы. Можно было бы продолжить: десять 1010, одиннадцать 1011 , пятнадцать 1111).

Компьютер хранит данные в памяти именно так. Для обозначения какого-нибудь символа (цифры, буквы, запятой, точки.) в компьютере используется определенное количество бит. Компьютер "распознает" 256 (от 0 до 255) различных символов по их коду. Этого достаточно, чтобы вместить все цифры (0 - 9), буквы латинского алфавита (a - z, A - Z), русского (а - я, А - Я), а также другие символы. Для представления символа с максимально возможным кодом (255) нужно 8 бит. Эти 8 бит называются байтом. Т. о. один любой символ - это всегда 1 байт.

Т. о. слово "диск" будет занимать 4 байта или 4*8 = 32 бита. Как вы уже поняли, компьютер хранит в памяти не сами буквы этого слова, а последовательность "единичек" и "ноликов". "Почему же тогда на экране мы видим текст, а не "единички-нолики"? - спросите вы. Чтобы удовлетворить ваше любопытство, я забегу немного вперед и скажу, что всю работу по выводу самого символа на экран (а не битов) выполняет видеокарта (видеоадаптер), которая находится в вашем компьютере. И если бы ее не было, то мы, естественно, ничего бы не видели, что у нас творится на экране.

В Ассемблере после двоичного числа всегда должна стоять буква "b". Это нужно для того, чтобы при ассемблировании нашей программы Ассемблер смог отличать десятичные, шестнадцатеричные и двоичные числа. Например: 10 - это "десять", 10h - это "шестнадцать" а 10b - это "два" в десятичной системе.

Т. о. в регистры можно загружать двоичные, десятичные и шестнадцатеричные числа.

Например: mov ax,20 mov bh,10100b mov cl,14h

В результате в регистрах AX, BH и CL будет находится одно и тоже число, только загружаем мы его в разных системах. Компьютер же будет хранить его в двоичном формате (как в регистре BH).

Итак, подведем итог. В компьютере вся информация хранится в двоичном формате (двоичной системе) примерно в таком виде: 10101110 10010010 01111010 11100101 (естественно, без пробелов. Для удобства я разделили биты по группам). Восемь бит - это один байт. Один символ занимает один байт, т. е. восемь бит. По-моему, ничего сложного. Очень важно уяснить данную тему, так как мы будем постоянно пользоваться двоичной системой, и вам необходимо знать ее на "отлично".

Зачем нужны различные позиционные системы?

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

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

Конструкция цифровых вычислительных машин тесно связана с принятой системой счисления.

Вычислительные устройства.

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

Русские счёты

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

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

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

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

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

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

При начальном обучении в школе, когда счет ведется в пределах одного - двух десятков, этот способ нумерации успешно применяется (счет на палочках).

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

К более современным непозиционным системам относят египетскую иероглифическую систему нумерации, в которой имелись определенные знаки для чисел: единица - I, десять - n, сто - с и так далее; эти числа называются узловыми. Все остальные натуральные числа, называемые алгоритмическими числами, записываются единообразно при помощи единственной арифметической операции - сложения. Например, число 243 запишется в виде сс nnnn III, 301 - в виде ссс I.

К непозиционным системам относят римскую нумерацию. За узловые числа в этой системе принимают числа: единица - I, пять - V, десять - X, пятьдесят - L, сто - С, пятьсот - D, тысяча - М. Все алгоритмические числа получаются при помощи двух арифметических операций: сложения и вычитания. Вычитание производится тогда, когда знак, соответствующий меньшему узловому числу, стоит перед знаком большего узлового числа, например, VI - шесть (5+1= 6), ХС - девяносто(100-10=90), 1704 - МОССIV, 193 -СХСШ, 687 - DCLXXXII.

В римской нумерации заметны следы пятеричной системы счисления, так как в ней имеются специальные знаки для чисел 5, 50 и 500.

При записи чисел использовался не только принцип сложения, но и принцип умножения.

Например, в старо - китайской системе счисления числа 20 и 30 изображались схематически, как 2,10 и 3,10. числа 10, 100, 1000 имели определенные специальные обозначения. Число 528 записывалось так: 5,100,2,10,8. Наиболее удобными среди непозиционных систем счисления являются алфавитные системы нумерации. Примерами таких систем могут служить ионийская система (Древняя Греция), славянская, еврейская, грузинская и армянская.

Во всех алфавитных системах существенным является обозначение специальными символами - буквами в алфавитном порядке всех чисел от 1 до 9, всех десятков от 10 до 90 и всех сотен от 100 до 900. Чтобы отличать запись чисел от слов над буквами, обозначающими цифры, в греческой и славянской нумерации ставилась черта.

В греческой системе счисления число 543 записывалось: цмг (ц - 500, м- 40, г- 3). В римской системе счисления это число записывается в виде DXLIII, в египетской иероглифической - в виде ссссс nnn III.

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

Рис. 4

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

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

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

Систематической записью натурального числа N по основанию с называют представление этого числа в виде суммы: N = аnсn+...+а1с, + а0, где аn, ..., а1, а0 - числа принимающие значения 0, 1, ..., с - 1, причем, аn?0.

Позиционная система счисления с основанием с называется с - ичной (двоичной, троичной и так далее). На практике чаще всего применяется десятичная с= 10).

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

Для с - ичной системы счисления нужно с цифр. Если с < 10, то применяются те же обозначения цифр, что и в десятичной системе счисления (только берутся цифры, меньше основания системы).

В системах с основанием с > 10 для чисел, больших или равных 10, не вводят специальных символов, а используют десятичную запись этих чисел, заключая эту запись в скобки. Например, в четырнадцатеричной системе имеется четырнадцать цифр: 0, 1, 2, 3 ... 9, (10), (11), (12), (13).

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

Число N= аnс n + . . . +a1с +а0 содержит а0 единиц первого разряда, а1 единиц второго разряда, а2 единиц третьего разряда и так далее. Единица следующего разряда в с раз больше единицы предыдущего разряда.

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

Теорема. Любое натуральное число N может быть записано в системе с основание с и притом единственным образом.

Доказательство:

1. Докажем существование представления любого натурального числа в виде:

N=anсn +a n-1 сn-1 + ... +ас+а0. (1)

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

Представление числа N в виде (1) возможно для первых р-1 натуральных чисел 1, 2,..., с-1, так как n=1 и число совпадает с данным числом. Представление числа в виде (1) для чисел 1, 2, . . . ,с-1, очевидно, возможны только единственным способом: 1=1, 2=2,. . . ,с-1=с-1.

Предположим, что все натуральные числа N?k (к?1) представимы в виде (1). Докажем что число к+1 так же представимо в виде (1). Для этого разделим с остатком число к+1 на с:

K+l=sс+r, 0<г<с-1, (2)

где s - неполное частное и г - остаток.

Так как число s?k, то оно по предположению индукции представимо в виде (1):

s = аnсn+ . . . +a1с +а0, (3)

где 1?аn?с -1, 0? ai ?с -l, (i=0,1,..,n-1)

Подставим выражения (2) и (3), получим:

k+l= (anс+ ... +аiс +а0) с + г = аnс +... + aiс +a0с +г (4)

где 1 ? an ?с -1, 0? aj ? с -1, 0 ? г? с -1 0=0,1,. . ,n-1)

Это выражение (4) дает представление числа к+1 в виде (1):

К+1=b n+1с n+1 + bn с n + ... + b1с +b0,

где b0 =r, bi+1- ai (i=0,l,.. ,n-l)

2. Докажем единственность представления любого натурального числа в виде (1).

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

Для чисел 1, 2,... , с -1 представление в виде (1) единственно.

Предположим что для всех натуральных N?k (к?1) представление в виде (1) единственно. Докажем, что число к+1 может быть представлено в виде (1) только одним способом. Для этого разделим с остатком число к+1 на с:

K+l=sс+r, 0<г< с -1 (5)

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

к+1=а nс n + аn-1 с n-1 + ....+ а1с +а() (6)

к+1 =b mс m + bm-1 с m-1 + ... + b1с +b0 (7)

Представим: равенства (6) и (7) в виде:

k+1= (а nс n-1 + an-1 с n-2+ ... + а1)с+а0 (6*)

k+1 = (b mс m-1 + bm-1 с m-2+ ... + b)с+b0 (7*)

Так как 0 ? а0 ?с -1 и 0 ? b0 ?с -1, то из (6*) и (7*) следует, что неполное частное s и остаток г в формуле (5) будут:

S= аnс n-1 + аn-1 с n-2 + ... + a1=bmс m-1 + bm-1 с m-2+ ... + b1. r = a0 = b0.

Так как s ? k, из индуктивного предположения следует, что число s имеет единственно представление в виде (1), то есть:

n-l = m-l, ai =bi , (i=0,1, . . ,n-1).

Из последнего равенства имеем а0=bо. Таким образом, n=m, ai=bi (i=0,l, . . ,n-l), но это противоречит допущению, что число k+1. имеет два различных представления (6) и (7). Следовательно, число к+1 представляется в виде (1) единственным образом. На основании принципа математической индукции утверждение справедливо для любого N . Теорема доказана.

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