uzluga.ru
добавить свой файл

Тема урока «Системы счисления» Учитель информатики Батракова Л.В.

______________________________________________________________________________________________

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

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

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

В непозиционных системах счисления, которые появились значительно раньше позиционных, смысл каждого символа не зависит от того места, на котором он стоит. Примером такой системы счисления является римская, в которой для записи чисел используются буквы латинского алфавита. При этом буква I всегда означает единицу, буква — V пять, X — десять, L — пятьдесят, C — сто, D — пятьсот, M — тысячу и т.д. Например, число 264 записывается в виде CCLXIV. Недостатком непозиционных систем является отсутствие формальных правил записи чисел и, соответственно, арифметических действий с многозначными числами.

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

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






(1)

или  , где p — основание системы счисления, целое положительное число; a — cимвол (цифра); n — номер старшего разряда числа.

Обозначения цифр берутся из алфавита, который содержит p символов. Каждой цифре соответствует определенный количественный эквивалент. Обозначение ak следует понимать как цифру в k-м разряде. Всегда выполняется неравенство: ak

Запись A(p) указывает, что число А представлено в системе счисления с основанием р:






(2)

Примером системы счисления является всем нам хорошо известная десятичная система счисления. Любое число в ней записывается с помощью цифр: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9. Важно, что значение каждой цифры зависит от того места, на котором она стоит в этой записи. Например, 1575: цифра 5 в записи числа встречается дважды: цифра 5 в последнем разряде — число единиц, а цифра 5, находящаяся в записи числа левее, — число сотен. Т.к. значение каждой цифры (ее "вес") определяется той позицией, которую цифра занимает в записи числа, то система счисления называется позиционной. В десятичной системе счисления значение единицы каждого разряда в 10 раз больше единицы соседнего с ним правого разряда.

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

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

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

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






(3)

Например, число 101101(2) можно записать так:

101101(2) = 1*25+0*24+1*23+1*22+0*21+1*20

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

Шестнадцатеричная система счисления имеет набор цифр {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F}, p = 16. Для изображения чисел в шестнадцатеричной системе счисления требуются 16 цифр. Для обозначения первых десяти цифр используются цифры десятичной системы счисления, шесть остальных — первых шесть прописных букв латинского алфавита. По формуле (1) шестнадцатеричное число может быть представлено так:






(4)

Пример

1. Число E7F8140 по формуле (4) запишется так:



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

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

k

1

2

3

4

5

6

7

8

9

10

11

12

2k

2

4

8

16

32

64

128

256

512

1024

2048

4096

16k

16

256

4096

65536

1048576






















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

Десятичная

Шестнадцатеричная

Двоичная

0

0

0

1

1

1

2

2

10

3

3

11

4

4

100

5

5

101

6

6

110

7

7

111

8

8

1000

9

9

1001

10

A

1010

11

B

1011

12

C

1100

13

D

1101

14

E

1110

15

F

1111

Арифметические операции, выполняемые в позиционных системах счисления

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






(5)









(6)

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






(7)

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

  • операция сложения выполняется поразрядно, начиная с младших разрядов в слагаемых;

  • в каждом одноименном разряде слагаемых суммируются соответствующие цифры и перенос из предыдущего разряда суммы;

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

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

Арифметические операции над числами в двоичной системе счисления

Рассмотрим правила выполнения арифметических операций над однозначными числами. Представим их в виде таблиц.

Правила сложения

Правила вычитания

Правила умножения

0 + 0 = 0
0 + 1 = 1
1 + 0 = 1
1 + 1 = 10

0 - 0 = 0
0 - 1 = -1
1 - 0 = 1
1 - 1 = 0

0 * 0 = 0
1 * 0 = 0
0 * 1 = 0
1 * 1 = 1

Примеры

1. Сложить два числа: 1010(2) + 10101(2) = 11111(2)

2. Найти разность двух чисел 10101(2) и 1010(2):

10101(2) - 1010(2) = 1011(2)

3. Умножить два числа 1011(2)  и 101(2):

1011(2) * 101(2) = 110111(2) 

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

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

Правило 1

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

Пример. Перевести в десятичную систему счисления числа С7(16) и 1010(2) :

С7(16) = 12*161 + 7*160 = 192 + 7 =199 (10) ;

1010 (2) = 1*23 + 1*21 = 8+2 10.

Схема Горнера

Эквивалентными являются алгоритмы для вычисления значения многочлена в некоторой точке х, заданные следующими формулами:






(8)









(9)

Запись (9) носит название вычислительной схемы Горнера.

Например:



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

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

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

25 : 2 = 12     (остаток 1);
12 : 2 = 6       (остаток 0),
6 : 2 = 3         (остаток 0),
3 : 2 = 1         (остаток 1),
1 : 2 = 0         (остаток 1).

Таким образом, 25(10) = 11001(2) .

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

Правило 2

Для перевода целых чисел из десятичной системы счисления в систему счисления с основанием р:

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

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

Преобразования чисел из двоичной в восьмеричную и шестнадцатеричную системы и наоборот просты потому, что числа 8 и 16 являются целыми степенями числа 2.

Правило 3

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

12345667(8) = 001 010 011 100 101 110 110 111(2)
            = 1 010 011 100 101 110 110 111(2).

Правило 4

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

1100111(2) = 001 100 111(2) = 147(8).

Правило 5

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

12345ABCDEF(16) =  1 0010 0011 0100 0101 1010 1011 1100 1101 1110 1111(2);
11001111010 1110(2) = 0110 0111 1010 1110(2) = 67AF(16).

Правило 6

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

1234567(8) = 001 010 011 100 101 110 111(2) 
            = 0101 0011 1001 0111 0111(2) = 53977(16);

1267ABC(16) = 0001 0010 0110 0111 1010 1011 1100(2) 
        = 010 010 011 001 111 101 010 111 100(2) = 223175274(16).