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

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

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

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

Основание системы – это тоже число, и его мы будем указывать в обычной десятичной системе. Вообще, число x может быть представлено в системе с основанием p, как

x = an·pn +(an-1 )·pn-1 + … + a1·p1 + a0·p0,

где ana0 – цифры в представлении данного числа. Так, например,

103510=1·103 + 0·102 + 3·101 + 5·100;

10102 = 1·23 + 0·22 + 1·21 + 0·20 = 10.

Наибольший интерес при работе на ЭВМ представляют системы счисления с основаниями 2, 8 и 16.

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

Задача 1: Пусть нужно перевести число 567 из десятичной в двоичную систему.

Сначала определяется максимальная степень двойки, такая, чтобы два в этой степени было меньше или равно исходному числу. В данном случае это 9, т.к. 29 = 512, а 210 = 1024, что больше начального числа.

Вторая цифра результата находится так – двойка возводится в степень 9 и вычитается из исходного числа: 567 – 29 = 55. Остаток сравнивается с числом 28 = 256. Так как 55 меньше 256, то девятый разряд – нуль, т.е. результат имеет вид 10хххххххх. Рассмотрим восьмой разряд. Так как 27 = 128 > 55, то и он будет нулевым.

Седьмой разряд также оказывается нулевым. Искомая двоичная запись числа принимает вид 1000хххххх. 25 = 32 < 55, поэтому шестой разряд равен 1 (результат 10001ххххх).

Для остатка 55 – 32 = 23 справедливо неравенство 24 = 16 < 23, что означает равенство единице пятого разряда. Аналогично получается в результате число 1000110111. Это число разлагается по степеням двойки:

567 = 1·29 + 0·28 + 0·27 + 0·26 + 1·25 + 1·24 + 0·23 + 1·22 + 1·21 + 1·20

При другом способе перевода чисел используется операция деления в столбик. Если взять то же число 567 и разделить его на 2, получается частное 283 и остаток 1. Та же операция производится и с числом 283. Частное – 141, остаток – 1. Опять полученное частное делится на 2 и так до тех пор, пока частное не станет меньше делителя. Теперь, чтобы получить число в двоичной системе счисления, достаточно записать последнее частное, т.е. 1, и приписать к нему в обратном порядке все полученные в процессе деления остатки.

Результат, естественно, не изменился: 567 в двоичной системе счисления записывается как 1 000 110 111.

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

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

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

x = an·pn +(an-1 )·pn-1 + … + a1·p1 + a0·p0,

где a0 … an – это цифры данного числа в системе счисления с основанием p.

Например,так можно перевести число 4A3F в десятичную систему. По определению, 4A3F= 4·163 + A·162 + 3·16 + F. При замене A на 10, а F на 15, получается 4·163 + 10·162 + 3·16 + 15= 19007.

Это нужно знать!!!!!!

В двоичной системе счисления:

  • четные числа оканчиваются на 0, нечетные – на 1;
  • числа, которые делятся на 4, оканчиваются на 00, и т.д.; числа, которые делятся на 2k, оканчиваются на k нулей
  • если число N принадлежит интервалу 2k-1  < =N < 2k, в его двоичной записи будет всего k цифр, например, для числа 125:

26 = 64 <= 125 < 128 = 27,    125 = 11111012  (7 цифр)

  • числа вида 2k записываются в двоичной системе как единица и k нулей, например:

16 = 24 = 100002

  • числа вида 2k-1 записываются в двоичной системе k единиц, например:

15 = 24-1 = 11112

  • если известна двоичная запись числа N, то двоичную запись числа 2·N можно легко получить, приписав в конец ноль, например:
    15 = 11112,          30 = 111102,         60 = 1111002,   120 = 11110002

Для перевода отрицательного числа (-a) в двоичный дополнительный код нужно сделать следующие операции:

  • перевести число a-1 в двоичную систему счисления
  • сделать инверсию битов: заменить все нули на единицы и единицы на нули в пределах разрядной сетки

Перейти к заданиям (ЕГЭ №1)

Перейти к заданиям (ЕГЭ  №16)