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

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

 

Перед математиками и конструкторами в 50-х годах XX столетия встала задача найти такие системы счисления, которые бы отвечали требованиям разработчиков ЭВМ и программного обеспечения. В результате были созданы “машинные” системы счисления:
- двоичная;
- восьмеричная;
- шестнадцатеричная.
Каждая из этих систем использует определенный набор символов языка, которыми записываются данные - символы алфавита.
В двоичной системе счисления их всего два: 0 и 1.
В восьмеричной системе их восемь: 0,1,2,3,4,5,6,7.
В шестнадцатеричной - шестнадцать: арабские цифры 0-9, и символы латинского алфавита от А до F. Причем символ А соответствует 10, В =11 и т.д , F=15.

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

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

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

Двоичная система счисления обладает такими же свойствами, что и десятичная, только для представления чисел используется не 10 цифр, а всего 2. Эта система счисления тоже является позиционной.

Официальное рождение двоичной арифметики связано с именем Г.В. Лейбница, опубликовавшего в 1703 г. статью, в которой он рассмотрел правила выполнения арифметических действий над двоичными числами.
Из истории известен курьезный случай с восьмеричной системой счисления. Шведский король Карл XII в 1717 году увлекался восьмеричной системой счисления, считал ее более удобной, чем десятичная, и намеревался королевским приказом ввести ее как общепринятую. Неожиданная смерть короля помешала осуществить столь необычное намерение.

Восьмеричная и шестнадцатиричная системы счисления

Двоичные числа – длинные последовательности 0 и 1 – очень неудобны для восприятия. В связи с этим двоичные числа стали разбивать на группы по три (триада) или четыре (тетрада) разряда. Из трех нулей и единиц можно составить восемь различных двоичных чисел, а из четырех – шестнадцать. Для кодирования 3 бит требуется 8 цифр, и поэтому взяли цифры от 0 до 7, т.е. в соответствии с определением получили алфавит 8-ной системы счисления.

Восьмеричный алфавит

Двоичное число (триада)

0

000

1

001

2

010

3

011

4

100

5

101

6

110

7

111

 

Для кодирования 4 бит необходимо 16 знаков, для чего используются 10 цифр десятичной системы и 6 первых букв латинского алфавита.

Шестнадцатеричный алфавит

Двоичное число (тетрада)

0

0000

1

0001

2

0010

3

0011

4

0100

5

0101

6

0110

7

0111

8

1000

9

1001

A

1010

B

1011

C

1100

D

1101

E

1110

F

1111

Представление чисел в различных системах счисления

10-ная

2-ная

8-ная

16-ная

0

00

0

0

1

01

1

1

2

10

2

2

3

11

3

3

4

100

4

4

5

101

5

5

6

110

6

6

7

111

7

7

8

1000

10

8

9

1001

11

9

10

1010

12

A

11

1011

13

B

12

1100

14

C

13

1101

15

D

14

1110

16

E

15

1111

17

F

 

16

10000

20

10

 

 

ПЕРЕВОД ЧИСЕЛ ИЗ N-РИЧНОЙ СИСТЕМЫ В ДЕСЯТИЧНУЮ

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


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

1) пронумеровать двоичный код начиная с младшего разряда (его номер равен 0) к старшему;
2) записать двоичное число как сумму произведений веса каждого разряда на основание системы счисления исходного числа (2) в степени, соответствующей номеру разряда;
3) выполнить вычисление произведений и суммы.
Например,
1010112 = 1*25+0*24+1*23+0*22+1*21+1*20 = 32+0+8+0+2+1=4310

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

Задание:
Выполните перевод следующих чисел в десятичную:
123708 - ?10

ПЕРЕВОД ЧИСЕЛ ИЗ ДЕСЯТИЧНОЙ СИСТЕМЫ В N-РИЧНУЮ

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

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

Например,4210 - ?2

4210 = 1010102

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


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

Задание:
выполните перевод десятичных чисел 54 и 782
в 8-ричную и 16-ричную системы счисления каждое.

ПЕРЕВОД ЧИСЕЛ ИЗ ДВОИЧНОЙ СИСТЕМЫ В ВОСЬМЕРИЧНУЮ И ШЕСТНАДЦАТЕРИЧНУЮ

 

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


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

100010011,112 = ?8

100

010

011,

1102

=423,68

 

4

2

3

6

 

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


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

11111100011,1010102 = ?16

0111

1110

0011,

1010

1000

= 7Е3,А816

 

7

Е

3

А

8

 


При переводе чисел из восьмеричной и шестнадцатеричной систем счисления в двоичную достаточно заменить каждую цифру соответственно двоичной триадой или тетрадой. При этом незначащие нули отбрасываются.
Примеры: 324,78 - ? 2
3 2 4, 78 = 11010100,1112

Е4А1, В516 - ?2
Е 4 А 1, В 516 = 1110010010100001,101101012

ПЕРЕВОД ЧИСЕЛ ИЗ ВОСЬМЕРИЧНОЙ И ШЕСТНАДЦАТЕРИЧНОЙ СИСТЕМЫ В ДВОИЧНУЮ

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

Примеры:

324,78 - ? 2

3

2

4,

78 =

11010100,1112

 

 

011

010

100

111

   

 

Е4А1, В516 - ?2

Е

4

А

1,

В

516 =

1110010010100001,101101012

 

1110

0100

1010

0001

1011

0101

 

 

АРИФМЕТИЧЕСКИЕ ДЕЙСТВИЯ В ДВОИЧНОЙ СИСТЕМЕ

С цифрами двоичного числа можно выполнять арифметические операции. При этом выполняются правила двоичной арифметики:

0+0=0

0*0=0

1+0=1

1*0=0

0+1=1

0*1=0

1+1= 0 (+ перенос единицы
в старший разряд)

1*1= 1



Все арифметические операции над двоичными числами можно свести к 2-м операциям: сложению и сдвигу кодов. Это позволяет технически реализовать четыре арифметических действия в одном арифметико-логическом устройстве, используя одни и те же электронные схемы. Впрочем, и в десятичной арифметике в конечном итоге выполняются те же действия – сложение и сдвиг.

Cложение двоичных чисел

Выполним сложение двух двоичных чисел 110012 и 100012

+

 

1

1

0

0

1

   

1

0

0

0

1

 

1

0

1

0

1

0

Задание:
Самостоятельно выполните сложение двоичных чисел:
111002 и 100111112

Вычитание двоичных чисел

Вычитание – обратная операция сложению так же может быть представлена в виде сложения, но только с отрицательным числом.
Выполним вычитание двух двоичных чисел 110012 и 100012

-

1

1

0

0

1

 

1

0

0

0

1

   

1

0

0

0


Задание:
выполните вычитание двух чисел 1011102 и 10012

Умножение и деление двоичных чисел

Умножение и деление производится поразрядно и сводятся к двум операциям: сложению и сдвигу.
Выполним умножение двоичных чисел 110012 и 10012

     

 

*

1

1

0

0

1

           

1

0

0

1

         

1

1

0

0

1

       

0

0

0

0

0

 
     

0

0

0

0

0

   
   

1

1

0

0

1

     
   

1

1

1

0

0

0

0

1


Задание:
самостоятельно перемножьте числа 11102 и 100012

Деление так же можно представить как выполнение операций сложения и сдвига.


Задание:
выполните самостоятельно деление двоичного числа 1100110 на двоичное число 110

АРИФМЕТИЧЕСКИЕ ДЕЙСТВИЯ В ВОСЬМЕТИЧНОЙ И ШЕСТНАДЦАТИРИЧНОЙ СИСТЕМЕ

Сложение и вычитание в 8-ной и 16-ной системах счисления

При выполнении действий сложения и вычитания в 8-ной системе счисления необходимо помнить:
в записи результатов сложения и вычитания могут быть использованы только цифры восьмеричного алфавита;
основание восьмеричной системы счисления равен 8, т.е. переполнение наступает, когда результат сложения больше или равен 8. В этом случае для записи результата надо вычесть 8, записать остаток, а к старшему разряду прибавить единицу переполнения;
если при вычитании приходится занимать единицу в старшем разряде, эта единица переносится в младший разряд в виде 8 единиц.
Примеры.
Сложить восьмеричные числа 7708 и 2368 .

 

 

1

1

 

 

+

7

7

0

   

2

3

6

 

1

2

2

6


Примеры на закрепление: выполнить действия в восьмеричной системе счисления.
7158 + 3738
5248 + 578

Выполнить вычитание восьмеричных чисел 7508 и 2368.

 

 

 

4

8

 

_

7

5

0

   

2

3

6

 

 

5

1

2

 

Примеры на закрепление: выполнить действия в восьмеричной системе счисления.
1378 - 72,38
4368 - 2578

При выполнении действий сложения и вычитания в 16-ной системе счисления необходимо помнить:
в записи результатов сложения и вычитания могут быть использованы только цифры шестнадцатеричного алфавита (0-9, A-F)
Основание шестнадцатеричной системы счисления равно 16, т.е. переполнение наступает, когда результат сложения больше или равен 16. В этом случае для записи результата надо вычесть 16, записать остаток, а к старшему разряду прибавить единицу переполнения;
если при вычитании приходится занимать единицу в старшем разряде, эта единица переносится в младший разряд в виде 16 единиц.

Примеры.
Сложить шестнадцатеричные числа B0916 и EFA16

 

 

1

1

 

 

+

B

0

9

   

E

F

A

 

1

A

0

3


Примеры на закрепление: выполнить действия в шестнадцатеричной системе счисления.
A1316 + 1CF16
F0B,816 + 1DA,C116

Выполнить вычитание шестнадцатеричных чисел B0916 и 7FA16.

 

 

10

15

16

 

_

B

0

9

   

7

F

A

 

 

3

0

F

Примеры на закрепление: выполнить действия в шестнадцатеричной системе счисления.
A1316 - 1CF16
DFA,B816 - 1AE,9416