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

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

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

Например, в римской системе для изображения чисел приняты такие, как: I, V, X, M, C и др.

В позиционной системе выделяют: базу и основание.

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

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

Например:

0…….9 - 10 знаков

база основание

0,1 - 2 знака

 

база основание

 

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

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

2. Произвести арифметические операции.

N = +xi qi = xi qin + xn 1 qn1+ ... + x1q1 + x0q0 + x 1q1

q - основание систем

x - цифра 1-го разряда

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

а) в десятичной системе:

 

543,26 (10) = 5*102 + 4*101 + 3*100 + 2*10-1 +6*10-2

б) в восьмеричной системе:

51,73(8) = 5*8 1+ 1*80 +7*8-1 +3*8-2

в) в шестнадцатеричной:

3F,5D(16) = 3*161 +F*160 + 5*16-1 + D*16-2

Помимо двоичной и десятичной систем, в ЭВМ используются восьмеричная и шестнадцатеричная системы, а также двоично-десятичный код.

В восьмеричной системе любое число записывается с помощью цифр от 0 до 7, в шестнадцатеричной системе количество цифр 16: 0 до 9 и далее A,B,C,D,E,F (соответствует 10,11,12,13,14,15).

Внутри ЭВМ информация всегда представляется в виде двоично-десятичного кода.

В таблице приведены числа восьмеричной и шестнадцатеричной системы счисления вместе с двоичными и десятичными эквивалентами.

 

Десятичная система Двоичная система Двоично-десятичный код
    в 8 системе в 16 системе
-
-
    1010-A
    1011-B
    1100-С
    1101-D
    1110-E
    1111-F
    Триада Тетрада

 

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

 

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

1. Сложение и умножение двоичных чисел.

Сложение: 0+0=0

0+1=1

1+0=1

1+1=10

Умножение: 0*0=0

1*0=0

0*1=0

1*1=1

Примеры:

а) 110110,01 б) 101,1

+ 11011,11 * 10,1

1010010,00 1011

0000

+ 1011

1101,11

2. Вычитание и деление чисел.

Вычисление: 0-0=0

1-0=1

1-1=0

10-1=1

Деление. 1:1=1

0:1=0

Примеры:

а) 11011,11 110,1 10,1

- 11,01 - 101

1- частное

10100,10 11 -остаток

3. Сложение и вычитание восьмеричных чисел.

а) 5(8) + 6 (8) = 13 (8)

 

012345 6710123

5(8) 6 (8)

 

б) 13 (8) - 7 (8) = 6 (8)

 

01234567 10 12345 67 20

 

13 (8)

 

в) 52,71 (8) г) 56,20 (8)

+ 3,27 (8) - 3,27 (8)

56,20 (8) 52,71 (8)

 

Сложение и вычитание шестнадцатеричных чисел выполняется аналогично.

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

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

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

Примеры:

а) 1001 111(2) (8)

001 001 111(2) 117(8)

1 1 7

б) 100 111 1001 (2 - 10) (16)

 

4 F 9

100111, 1001 (2 - 10) 4F, 9 (16)

 

в) 543,1 (8) (2)

543,1 (8) 101 100 011, 001 (2)

 

5 5 4 3 1

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

Примеры:

а) 35 (10) (2)

- 35 2

 
 


34 17 2

-

1 16 8 2

1 8

0 - 4 2

4

2 2

0 - 2 1

35 (10) = 100011 (2)

 

 

б) 386 (10) (8)

386 8

- 384

2 48 8

- 48 6

386 (10) = 602 (8)

 

в) 9851 (10) (16)

 

9851 16

- 9840

В <- 11 615 16

- 608

7 38 16

-32

6 2

 

9851 (10) =267В (16)

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

Примеры:

а) 0,345(10) (2) с точностью 2-4

 

0 345

2

0 690

1 380

2

0 760

2

0 520 0,345(10) = 0,0101(2)

 

б) 0,95(10) (8) с точностью 8-3

0 95

7 60

8

1 80

6 40 0,95(10) = 0,746 (8)

 

в) 0,845(10) (16) с точностью 16-3

1 845

D  
16

13 52

1 32

16

5 18 0,845(10) = 0,D85(16)

 

Для перевода неправильной дроби (т.е. число имеет целую и дробную часть), необходимо отдельно перевести целую часть и дробную.

Примеры:

 

568,25 (10) (8) с точностью 82

568 8 0 25

568 71 8 * 8

0 64 8 8 2 00

7 8 1 * 8

0 0 00

 

568, 25 (10) = 1070,20(8)

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

Примеры:

а) 73, 5(8) = 7*81 + 3*8 0 + 5*8-1= 59,625(10)

 

б) D5C,E(16) = 13*162 + 5*161 + 12*160 + 14*16-1 = 3420,875(10)

 

в) 100011,11 = 1*25+0*24+0*23+0*22+1*21+1*20+1*2 -1+1*2-2 =35,75(10)