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




Системы счисления. Мы привыкли считать предметы десятками, сотнями: десять единиц образуют десяток, десять десятков — сотню, десять сотен — тысячу и т. д. Это — десятичная система счисления, которая не является единственно возможной. Существуют, напри­мер, двенадцатеричная система счисления (счет идет на дюжины) или римская система счисления.

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

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

• непозиционные;

• позиционные.

Непозиционные системы счисления. В непозици­онной системе цифры не меняют своего количественного значения при изменении их расположения в числе.

Самый простой и очевидный пример — система счисления, где количество обозначается I (палочкой / единицей):

1= 1;

2= 1 1;

5 = 11111;

10 = 1111111111.

Пусть, далее следующие символы (цифры в гипотетической системе счисления) соответствуют числам (десятичной системе счисления):

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

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

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

Например,

23 = 2 х 10 + 3; 32 = 3 х 10 + 2

Основание системы счисления — количество (Р) раз­личных цифр, используемых для изображения числа в позиционной системе счисления. Значения цифр лежат в пределах от 0 до Р - 1.

В общем случае запись любого числа в системе счисления с основанием Р будет представлять собой ряд (многочлен) вида:

x = anPn + an-1Pn-1 +... + a1P1 + a0P0 + a-1P-1 +... + a-mP-m (1.1)

Нижние индексы определяют местоположение цифры в числе (разряд):

• положительные значения индексов — для целой части числа разрядов);

• отрицательные значения — для дробной (s разрядов).

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

При переводе чисел из десятичной системы счисления в систему с основанием P > 1 обычно используют следующий алгоритм:

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

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

 

 

Двоичная система счисления имеет основание Р = 2 и использует для представления информации две цифры: 0 и 1.

Существуют правила перевода чисел из одной системы счисле­ния в другую, основанные, в том числе, и на выражении (1.1).

101110,1012 = 1 х25 + 0х24+ 1 х23+ 1 х22+ 1 х21+0х2° +

+ 1 х 2-1 + 0 х 2 -2 + 1 х 2-3 = 46,625.

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

Пример для самостоятельной работы:

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

а) 464(10);

Решение.

464 | 0

232 | 0

116 | 0

58 | 0

29 | 1

14 | 0

7 | 1

3 | 1

1 | 1

а) 464(10) = 111010000(2);

При переводе чисел из системы счисления с основанием P в десятичную систему счисления необходимо пронумеровать разряды целой части справа налево, начиная с нулевого, и в дробной части, начиная с разряда сразу после запятой слева направо (начальный номер -1). Затем вычислить сумму произведений соответствующих значений разрядов на основание системы счисления в степени, равной номеру разряда. Это и есть представление исходного числа в десятичной системе счисления.

 

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

Некоторые неотрицательные степени числа 2 (в десятичной системе счисления)

а) 1000001(2).

1000001(2)=1× 26+0× 25+0× 24+0× 23+0× 22+ 0× 21+1× 20 = 64+1=65(10).

 

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

г) 29A,5(16).

29A,5(16) = 2×162+9×161+10×160+5×16-1 = 512+144+10+0,3125 = 656,3125(10).

 

Для выполнения арифметических операций в системе счисления с основанием P необходимо иметь соответствующие таблицы сложения и умножения. Для P = 2, 8 и 16 таблицы представлены ниже.

+ 0 1

0 0 1

1 1 10

 

* 0 1

0 0 0

1 0 1

 

+ 0 1 2 3 4 5 6 7

0 0 1 2 3 4 5 6 7

1 1 2 3 4 5 6 7 10

2 2 3 4 5 6 7 10 11

3 3 4 5 6 7 10 11 12

4 4 5 6 7 10 11 12 13

5 5 6 7 10 11 12 13 14

6 6 7 10 11 12 13 14 15

7 7 10 11 12 13 14 15 16

 

* 0 1 2 3 4 5 6 7

0 0 0 0 0 0 0 0 0

1 0 1 2 3 4 5 6 7

2 0 2 4 6 10 12 14 16

3 0 3 6 11 14 17 22 25

4 0 4 10 14 20 24 30 34

5 0 5 12 17 24 31 36 43

6 0 6 14 22 30 36 44 52

7 0 7 16 25 34 43 52 61

 

 

3. Сложить числа:

а) 10000000100(2) + 111000010(2) = 10111000110(2).

б) 223,2(8) + 427,54(8) = 652,74(8).

в) 3B3,6(16) + 38B,4(16) = 73E,A(16).

 

10000000100 223,2 3B3,6

+ 111000010 + 427,54 +38B,4

------------ ------- -----

10111000110 652,74 73E,A

 

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

 

а) 10000000100(2)=1×210+1× 22 = 1024+4=1028(10)

111000010(2)=1×28+ 1×27+ 1×26+ 1×21 = 256+128+64+2 = 450(10)

10111000110(2)=1×210+ 1×28+ 1×27+ 1×26+ 1×22+ 1×21 = 1024+256+128+64+4+2 = 1478(10)

1028(10)+450(10) = 1478(10)

 

Результаты совпадают, следовательно, вычисления в двоичной системе счисления выполнены верно!

 

 

4. Выполнить вычитание:

а) 1100000011,011(2) - 101010111,1(2) = 110101011,111(2).

б) 1510,2(8) - 1230,54(8) = 257,44(8).

в) 27D,D8(16) - 191,2(16) = EC,B8(16).

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

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

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

2. Для перевода дробной части числа ее, а затем дробные части получающихся произведений, следует последовательно умножать на основание Р до тех пор, пока очередная дробная часть произведения не окажется равной 0 или не будет достигнута нужная точность дро­би. Целые части произведений, записанные после запятой последо­вательно слева направо, образуют дробную часть числа в системе счисления с основанием Р.

Пусть требуется перевести смешанное число из десятичной в двоичную систему счисления на примере числа 46,625.

1. Переводим целую часть числа:

46: 2 = 23 (остаток 0).

23: 2 = 11 (остаток 1).

11: 2 = 5 (остаток 1).

5:2 = 2 (остаток 1).

2:2=1 (остаток 0).

1:2 = 0 (остаток 1).

Записываем остатки последовательно справа налево — 101110, т. е. 4610= 1011102

2. Переводим дробную часть числа:
0,625x2=1,250.

0,250x2 = 0,500.

0,500 х 2 = 1,000 (дробная часть равна 0 => стоп).

Записываем целые части получающихся произведений после за­пятой последовательно слева направо — 0,101, т. е. 0,62510 = 0,1012.

Окончательно: 46,625|0= 101110,1012.

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

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

Для изображения цифр, больших 9, в шестнадцатеричной систе­ме счисления применяются буквы А = 10, В = 11, С = 12, D = 13, Е= 14, F = 15.

Например, шестнадцатеричное число F17B в двоичной системе выглядит так: 1111000101111011, а в десятичной — 61 819.

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

Двоично-десятичная система не экономична с точки зрения реализации технического построения машины (примерно на 20 % увеличивается требуемое оборудование), но очень удобна при под­готовке задач и при программировании. В двоично-десятичной сис­теме счисления основанием системы счисления является число 10, но каждая десятичная цифра (0, 1,..., 9) кодируется двоичными цифрами.

https://comp-science.narod.ru/Progr/Syst_Sch.html

 

 

 

 

 



Поделиться:




Поиск по сайту

©2015-2024 poisk-ru.ru
Все права принадлежать их авторам. Данный сайт не претендует на авторства, а предоставляет бесплатное использование.
Дата создания страницы: 2016-02-16 Нарушение авторских прав и Нарушение персональных данных


Поиск по сайту: