Кодирование чисел. Системы счисления
Лекции.ИНФО


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



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

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

Таблица 3.

Позиционная СС Непозиционная СС
005 = 5*1 (пять) 050 = 5*10 (пятьдесят) 500 = 5*100 (пятьсот) IX = 10-1 = 9 XI = 10+1 = 11 XX = 10+10 = 20

 

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

Так, в десятичной системе счисления, основание которой равно 10, различают 10 арабских цифр - 0, 1, 2, ..., 9.

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

Двоичная система счисления имеет основание 2, и, следовательно, ее алфавит состоит из двух цифр - 0 и 1; алфавит восьмеричной системы счисления составляют цифры 0, 1, 2, 3, 4, 5, 6, 7; шестнадцатеричной - десять арабских цифр от 0 до 9 и еще шесть символов - А (10), В (11), С (12), D (13), E (14), F (15).

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

, (6)

или, если расписать сумму в этом выражении,

,

где

y – число;

k – основание системы счисления;

xi – цифры числа;

i – номер позиции (разряда) числа, начиная с 0.

 

Так, на основании формулы (6) десятичное число 638(10) представляется следующим образом:

.

Мы говорим в таком случае, что в этом числе 6 сотен, 3 десятка и 8 единиц.

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

Перевод целых чисел из системы счисления с основанием k в десятичную систему счисления

Число, записанное в позиционной системе счисления с любым основанием, переводится в десятичную систему счисления по правилу (6).

Если, например, 45(8) – число, записанное в восьмеричной системе счисления, то

45(8)=4*81+5*80=4*8+5*1=32+5=37(10)

Число 203(5) записано в пятеричной системе счисления, тогда

203(5)=2*52+0*51+3*50=2*25+0*5+3*1=50+0+3=53(10)

Меняется только основание системы счисления, алгоритм остается неизменным.

Основание позиционной системы счисления в ней самой всегда записывается как 10; например, в двоичной системе счисления 10(2) означает число 2(10), а в восьмеричной 10(8) означает число 8(10).

Чтобы легче осуществлять перевод из системы счисления по любому основанию в десятичную, следует для начала явно пронумеровать разряды исходного числа справа налево, начиная с 0 (см. рисунок 14).

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

Двоичная (бинарная) система счисления имеет основание 2. Ее алфавит – цифры 0 и 1. Для перевода числа из двоичной системы счисления в десятичную также справедливо правило (6). Представим в десятичном виде число 1101(2), или, что то же самое, &1101 (& - амперсант, - этим символом принято указывать то, что следующая за ним запись двоичная).

1101(2)=1*23+1*22+0*21+1*20=1*8+1*4+0*2+1*1=13(10)

Рис. 14. Перевод числа из двоичной СС в десятичную.

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

Т.е. достаточно просуммировать “два в соответствующей степени” только в тех позициях двоичного числа, в которых находятся единицы. Степень же, в которую нужно возводить число 2, равна номеру позиции.

Арифметические операции в любой позиционной системе счисления также имеют общую логику.

Таблица 4.

 

  “Круглые” числа в двоичной СС
&101 = 5(10) &1 = 20 = 1
+ 1   &10 = 21 = 2
&110 = 6(10) &100 = 22 = 4
+ 1   &1000 = 23 = 8
&111 = 7(10) &10000 = 24 = 16

 

 

Каждый разряд двоичного числа имеет информационную емкость 1 бит. На основании одного двоичного разряда можно закодировать только два десятичных числа - &0=0(10), &1=1(10), на основании двух двоичных разрядов можно закодировать уже четыре десятичных числа – &00=0(10), &01=1(10) , &10=2(10), &11=3(10) , тремя двоичными разрядами можно представить восемь десятичных чисел и т.д. в соответствии с формулой Хартли (2).

Таблица 5.

 

  20 десятичное   22 21 20 десятичное
   
   
       
21 20 десятичное  
 
 
 
 

 

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

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

 

Таблицу степеней числа 2 от 20 до 210 следует знать наизусть.

Таблица 6.

N
2N

 

Открытие двоичного способа представления чисел приписывают китайскому императору Фо Ги, жизнь которого относится к 4-му тысячелетию до новой эры. Известный немецкий математик Лейбниц (1646-1716) в 1697 г. разработал правила двоичной арифметики. Он подчеркивал, что "вычисление с помощью двоек, то есть 0 и 1, в вознаграждение его длиннот, является для науки основным и порождает новые открытия, которые оказываются полезными впоследствии, даже в практике чисел, а особенно в геометрии: причиной чего служит то обстоятельство, что при сведении чисел к простейшим началам, каковы 0 и 1, всюду выявляется чудесный порядок".

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









Читайте также:

Последнее изменение этой страницы: 2016-04-09; Просмотров: 78;


lektsia.info 2017 год. Все права принадлежат их авторам! Главная