Лекция 6. Системы счисления

 

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

Разновидности искусственных систем.

- Материальные: автомобили, самолёты, дома, города.

- Общественные: различные объединения людей.

- Информационные: национальные языки, компьютерная сеть Internet, системы счисления и т.д.

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

Любая предназначенная для практического применения СС должна обеспечивать:

- возможность представления любого числа в рассматриваемом диапазоне величин;

- единственность представления (каждой комбинации символов должна соответствовать одна и только одна величина);

- простоту оперирования числами;

Для записи чисел применяются и применялись издавна придуманные людьми специальные значки, называемые цифрами. Например, известны римские и арабские цифры.

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

С помощью арабских цифр (0, ……….9). Такая форма записи сложилась в Индии, а в Европе она стала известной благодаря арабским математикам. Особый вклад в популяризацию современной формы записи чисел сделал арабский математик аль-Хорезми, который сформулировал правила четырех арифметических действий (сложение, вычитание, умножение, деление) над многозначными числами.

Существует множество систем счислений (двоичные, десятичные, восьмеричные, шестнадцатеричные и т.д.).

Таблица 1- Основания систем счисления.

q Название Цифры
двоичная 0, 1
троичная 0, 1, 2
восьмеричная 0,..., 7
шестнадцатеричная 0,...,9,A, ..., F

 

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

Если основание системы превышает 10, то цифры, начиная с 10, при записи обозначают прописными буквами латинского: A,B,...,Z. При этом цифре 10 соответствует знак «A», цифре 11 - знак «B» и т.д.

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

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

Символы, при помощи которых записывается число, называются цифрами. Следует различать понятия «вид цифры» и «значение цифры».

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

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

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

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

В позиционных системах счисления вес каждой цифры изменяется в зависимости от ее положения (позиции) в последовательности цифр, изображающих число. Например, в числе 757, 7 -первая семерка означает 7 сотен, вторая — 7 единиц, а третья — 7 десятых долей единицы.

В непозиционных системах счисления вес цифры (т. е. тот вклад, который она вносит в значение числа) не зависит от ее позиции в записи числа. Так, в римской системе счисления в числе ХХХII (тридцать два) вес цифры Х в любой позиции равен просто десяти.

 

Пример. Позиционная система счисления - арабская десятичная система, в которой основание Р= 10 , для изображения чисел используются 10 цифр .

Рассмотрим три числа: 298, 829, 982.

Эти числа различны, хотя в их записи используются одни и те же цифры. 2,8,9. И в каждом числе цифра несет определенный вес в зависимости от того , где она стоит.

В первом числе 2-это сотни.

Во втором - 2 это десятки.

В третьем - 2 это единицы.

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

Пример. Непозиционная система счисления –римская, в которой для каждого числа используется специфическое сочетание символов ( XIV, XXII).

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

Базис позиционной системы счисления - это последовательность чисел, каждое из которых задаёт значение цифры «по месту» или вес каждого разряда.

Пример базисов традиционных систем:

Десятичная: 10, 10,,10,….,

Двоичная:

В более общем виде для позиционных систем счисления базис можно записать в виде последовательных членов геометрической прогрессии:

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

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

За основание системы можно принять любое натуральное число — два, три, четыре и т.д. Следовательно, возможно бесчисленное множество позиционных систем: двоичная, троичная, четверичная и т.д.

При N=2 число различных цифр, используемых для записи чисел, ограничено множеством из двух цифр (нуль и единица). Кроме двоичной системы счисления широкое распространение получили и производные системы:

- двоичная- {0,1};

- десятичная, точнее двоично-десятичное представление десятичных чисел, - {0, 1,...,9};

- шестнадцатеричная - {0,1,2, ...9, А, В, С, D, Е, F}. Здесь шестнадцатеричная цифра А обозначает число 10,В-число 11, ...,F-число 15;

- восьмеричная (от слова восьмерик) - {0,1,2,3,1,5, б, 7}. Она широко используется во многих специализированных ЭВМ.

Восьмеричная и шестнадцатеричная системы счисления являются производными от двоичной, так как 16 = 24 и 8 = 23. Они используются в основном для более компактного изображения двоичной информации, так как запись значения чисел производится существенно меньшим числом знаков.

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

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

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

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

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

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

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

Основание данной системы равно 10:

Распишем натуральное число 1578 по следующей схеме:

1 5 7 8

четыре тысячи + пятьсот + семьдесят + восемь

1*1000 + 5*100 + 7*10 + 8

1578 =

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

Основание данной системы равно 2:

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

Отключено - 0 или низкое напряжение- 0

Включено - 1 или высокое напряжение- 1

Определение. Система счисления с основание Р= 2 , в котором используются всего 2 цифры (0 и 1) , называется двоичная система счисления или бинарная.

Такое кодирование называется двоичным кодирование, а цифры 0 и 1 называются битами.

В ЭВМ каждому символу соответствует последовательность из 8 нулей и единиц, называемая байтом. 1 байт = 8 битов.

Всего существует 256 разных последовательностей из 8 нулей и единиц, это позволяет закодировать 256 различных символов. 2 = 256.

Компьютеры используют двоичную систему потому, что она имеет ряд преимуществ перед другими системами:

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

- представление информации посредством только двух состояний надежно и помехоустойчиво;

- возможно применение аппарата булевой алгебры для выполнения логических преобразований информации;

- двоичная арифметика намного проще десятичной.

Недостаток двоичной системы — быстрый рост числа разрядов, необходимых для записи чисел.

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

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

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

Полезно запомнить запись в этих системах счисления первых двух десятков целых чисел.

Таблица 2 – Представление чисел в разны хсистемах счисления.

10-я 2-я 8-я 16-я 10-я 2-я 8-я 16-я
A
B
C
D
E
F

 

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

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

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

2) остаток от деления (это будет 0 или 1) приписываем слева к полученным ранее цифрам в двоичной записи числа а (первая полученная цифра соответствует младшему разряду и ее мы просто записываем);

3) выполняем (1) и (2) до тех пор, пока число а не станет равным 0.

 

Примеры реализации Алгоритма 1.

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

35610 → х {0;1}

 

             
-3            
-16          
-14 -8        
-18 -4      
-16 - 8 -2    
  - 4 -10  
      - 2 - 4
          -2
               

 

Ответ. 35610 = 1011001002

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

15110 → х {0;1}

           
         
       
       
       
       
       
         
             

 

Ответ 15110 = 100101112

Алгоритм 2.Аналогичным образом производится перевод чисел из десятичной системы счисления в любую Р-ичную

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

35610 ® Х16

 
   

35610=16416

5710→Х7

5710=1117

7261016

 

72610 = 2D5(16)

 

Алгоритм 3.Алгоритм перевода целых чисел из Р-ичной системы счисле­ния в десятичную:

1) каждая цифра числа в Р-ичной системы счисления переводится в число в десятичной системе;

2) полученные числа нумеруются справа налево, начи­ная с нуля (номера соответствуют степеням Р в многочлене;

3) десятичное число, соответствующее каждой Р-ичной цифре, умножается на Pk, где k — номер этого числа, и результаты складываются, причем все эти арифметические действия проводятся в десятичной системе.

Примеры реализации алгоритма.

 
   

 

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

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

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

Пример 1: Записать число 111011010011102 в шестнадцатеричной системе счисления.

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

Ответ: 11 1011 0100 1110 = 3B1E16

Пример 2: Записать число 13C9A 16 в двоичной системе счисления.

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

Ответ: 13C9A16 = 0001 0011 1100 1001 10102 = 1 0011 1100 1001 10102

Алгоритм 5.Алгоритм получения дополнительного кода. Перевод отрицательного числа.

Для получения дополнительного k-разрядного кода от­рицательного числа необходимо:

1) модуль числа представить прямым кодом в k двоич­ных разрядах;

2) значения всех бит инвертировать (все нули заменя­ются на единицы, а единицы на нули), таким обра­зом получается k-разрядный обратный кодисходно­го числа;

3) к полученному обратному коду, трактуемому как k-разрядное неотрицательное двоичное число, при­бавить единицу.

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

         
       
     
     
     
     
       
           

1100001-Прямой код числа

0011110-Обратный код числа

 

+ 1

0011111– Дополнительный код числа

Пример. Найти прямые, обратные и дополнительные коды чисел: -5310.

 

 
   
 

110112 – прямой код числа.

001002 – обратный код числа.

+

1

(00)1012 – дополнительный код числа.

Алгоритм 6.Алгоритм перевода правильной конечной десятичной дроби в Р-ичную систему счисления:

1) умножим исходное число на Р (основание новой сис­темы счисления), целая часть полученного произве­дения является первой цифрой после запятой в иско­мом числе (целая часть может быть как равна нулю, так и быть больше девяти, но она всегда меньше чем Р, это позволяет записать ее в виде ровно одной цифры Р-ичной системы счисления);

2) дробную часть произведения снова умножим на Р, целую часть полученного числа заменяем на цифру в Р-ичной системе и приписываем ее справа к резуль­тату;

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

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

а)

 

     
   
 
 
   
       
0,4692  
0,9382  
0,8762  
0,7522  
0,5042  
0,0082  
             

 

11110,011110

б)

                 
               
             
             
             
             
             
             
             
               
                   
                     
0,3752  
0,752  
0,52  
                         

 

1001000000,011

Рассмотрим правила двоичной арифметики через нижеприведённые примеры.

 
+  

а)

 

 
+    
 

б)

 
-        
 

в)

 

     
    *    
    +
  +  
     

 

г)

           
-       ,
                   
  -                  
                   
    -                
                   
      -              
                   
          -