Восьмеричная система счисления.

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

 

Основанием системы счисления является число 2. Количество цифр, используемых для изображения чисел в любой системе счисления, равно основанию этой системы. В 2 с/с для этой цели используются цифры 0 и 1.

Рассмотрим произвольное двоичное число

 

11010,101 = 1*24 + 1*23 + 0*22 + 1*21 + 0*20 + 1*2-1 + 0*2-2 + 1*2-3 =

= 16 + 8 + 2 + 1/2 + 1/8 = 26 5/8 = 26,625 (10 с/с)

Представленная выше схема разложения двоичного числа является одновременно схемой перевода из 2 с/с в 10 c/c ( 2 --> 10 ).

Рассмотрим теперь перевод 10 --> 2. Такой перевод производится отдельно для целой и отдельно для дробной частей числа.

 

Пример. 43,37510 = 101011,0112

43 ¦ 2

42 21 ¦ 2

1 20 10 ¦ 2

1 10 5 ¦ 2

0 4 2 ¦ 2

1 2 1 ¦

0 ¦

<--------------

 

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

В самом деле, мы 5 раз разделили исходное число на 2. Следовательно, в нем 1 раз содержится 2 . Кроме этого, в числе также 0 раз содержится 24 , 1 раз 23 , 0 раз 22 , 1 раз 21 и 1 раз 20.

Тогда можно записать:

 

1*25 + 0*24 + 1*23 + 0*22 + 1*21 + 1*20,

 

т.е. мы получили разложение числа по степеням основания 2.

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

 

0, ¦ 935 * 10

9, ¦ 35 * 10

3, ¦ 5 * 10

5, ¦ 0

 

Эта схема показывает, что в исходном числе содержится 9*10-1 (после первого умножения) + 3 * 10-2 (после второго умножения) + 5 * 10-3 (после третьего умножения).

Если вместо умножения на 10 мы будем умножать на число p, то получим перевод дробной части числа в систему счисления с основанием p.

Для исходного числа

 

0, ¦ 375 * 2

0, ¦ 75 * 2

1, ¦ 5 * 2

1, ¦ 0

 

Следовательно, 0,37510 = 0,0112.

Конечная десятичная дробь не всегда образует конечную двоичную дробь. Например, для числа 0,4 получим

 

0, ¦ 4 * 2

0, ¦ 8 * 2

1, ¦ 6 * 2

1, ¦ 2 * 2

0, ¦ 4 * 2

0, ¦ 8 * 2

1, ¦ 6 * 2

..............

0,310 = 0,011001100110... = 0, (0110)2

 

Естественно, в этом случае полученное двоичное число округляют.

 

 

Основанием системы является число 8. Для изображения числа используются 8 цифр: 0, 1, 2, 3, 4, 5, 6, 7.

Перевод 8 --> 10 :

 

35174,68 = 3*84 + 5*83 + 1*82 + 7*81 + 4*80 + 6*8-1 = 3*4096 + 5*512 + 1*64 +

+ 7*8 + 6/8 = 12288 + 2560 + 64 + 56 + 4 + 3/4 = 14972,7510.

 

Перевод 10 --> 8 . Схема перевода такая же, как и для 2 с/c.

397,210 = 615,158

397 ¦ 8 0, ¦ 2 * 8

32 49 ¦ 8 1, ¦ 6 * 8

77 48 6 4, ¦ 8 * 8

72 1 ¦ 6, ¦ 4 * 8

5 ¦ 3, ¦ 2 * 8

¦ 1, ¦ 6 * 8

<-------- ...........

0,210 = 0,146314631... = 0,(1463)

Полученная восьмеричная дробь округлена до двух цифр.

Правило округления: чтобы округлить дробное число до m цифр, нужно к (m+1)-ой цифре добавить половину цены разряда для данной системы счисления. Для 8 c/c половина цены разряда равна 4, для 2 с/c - 1, для 16 c/c - 8.

Примечание. Сложение в вышеприведенном примере было выполнено в восьмеричной системе счисления.

 

Перевод 8 --> 2. Для перевода восьмеричного числа в 2 c/c нужно каждую восьмеричную цифру записать в виде двоичной триады, т.е. трех двоичных цифр.

 

Восьмеричное число Двоичное число Двоичная триада

 

Например, 3763,248 = 011 111 110 011 , 010 1002 = 11111110011,01012

Такое правило перевода 8 --> 2 связано с тем, что 8 = 23.

Например,

 

3763,248 = 3*83 + 7*82 + 6*81 + 3*80 + 2*8-1 + 4*8-2 = (0*22 + 1*21 + 1*20)*29 +

+ (1*22 + 1*21 + 1*20)*26 + (1*22 + 1*21 + 0*20)*23 + (0*22 + 1*21 + 1*20)*20 +

+ (0*22 + 1*21 + 0*20)*2-3 + (1*22 + 0*21 + 0*20)*2-6 = 0*211 + 1*210 + 1*29 +

+ 1*28 + 1*27 + 1*26 + 1*25 + 1*24 + 0*23 + 0*22 + 1*21 + 1*20 + 0*2-1 + 1*2-2 +

+ 0*2-3 + 1*2-4 + 0*2-5 + 0*2-6 = 011 111 110 011, 010 1002

 

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

Пример.

 

001¦011¦110¦111,101¦101¦0102 = 1367,55228

 

В связи с тем, что перевод 10 --> 8 или 8 --> 10 выполняется быстрее, чем перевод 10 --> 2 или 2 --> 10, то вместо 10 --> 2 выполняют 10 --> 8 --> 2 , а вместо 2 --> 10 выполняют 2 --> 8 --> 10 .