Перевод правильных дробей

Теперь рассмотрим случай 0<Ар<1. Мы хотим найти неотрицательные целые числа - коэффициенты а-1, а-2,..., а-m, каждый из которых меньше q, такие, что

Ар = а-1q-1 + а-2q-2 + ... + а-mq-m = Аq.

Умножая обе части равенства на q, получим:

q·Ар = а-1+ а-2q-1 +...+ а-mq-m+1 = U-1+V-1,

где U-1 есть целая часть числа q·А(р), а V-1 - дробная часть числа. Отсюда U-1 -1,

V-1 = а-2q-1 + ... + а-mq-m+1.

Умножая обе части последнего равенства на q, получим:

q V-1 = а-2-3q-1+...+а-mq-m+2=U-2-V-2,

откуда U-2 = а-2; V-2 = а-3q-1 + ... + а-mq-m+2 и т.д.

Таким образом, получаем следующее правило перевода правильной дроби:

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

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

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

035

0 70

1 40

0 80

1 60

1 20

040

080

160

Поясним это: 0,35·2=0,70, следовательно, 0 - первая цифра после запятой в переводимой дроби. Далее 0,70·2=1,40. Значит, следующая цифра 1. Затем 0,40·2=0,80. Следующая цифра 0 и т.д.

Выписывая цифры полученного столбца сверху вниз, получим:

0,35≈0,010110012.

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

Примеры:

1) Перевести числа 0,47 и 0,75 из десятичной системы счисления в двоичную (до четырех знаков после запятой):

0, 47 0, 75

2 2

0 94 1 50

22

1 88 1 00

2

1 76

2

1 52

Итак, 0,4710=0,01112; 0,7510=0,112.

2) Перевести числа 0,47 и 0,75 из десятичной в шестнадцатеричную систему счисления (с точностью до двух знаков после запятой):

0, 47 0, 75

16 16

2 82 4 50

4 7 7 5

7 52 12 00

16

3 12

5 2

8 32

Итак, 0,4710=0,7816; 0,7510=0,С16, т.к. 121016.

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

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

11810=7616, 0,4710=0,7816, значит, 118,4710=76,7816.

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

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

Примеры:

1) 11101102=1·26+1·25+1·24+0·23+1·22+1·21+0·20=

= 64 + 32 + 16 + 0 + 4 + 2 + 010 = 18810

2) 1011,12=1·23+0·22+1·21+1·20+1·2-1=8+0+2+0,5=11,510

3) 7616=7·161+6·160=122+6=11810

4) A5,816=A·161+5·160+8·16-1=160+5+0,5=165,510

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

0 1 2 3 4 5 6 7 8 9 A B C D E F
0000 0001 0010 0011 0100 0101 0110 0111 1000 1001 1010 1011 1100 1101 1110 1111

Пример: CA53,78D16 = 1100101001010011,0111100011012, т.к.

 

C A 5 3 , 7 8 D

| | | | | | | |

1100 1010 0101 0011,0111 1000 1101

 

Аналогично, FA16=1111 10102.

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

Пример: 10010011111,11100112=49F,E616, т.к.

0100 1001 1111,1110 01102

|____|____|____|____|____|

4 9 F , E 6

 

Аналогично, 10 1110 0001,1010 011012=2Е1,А616.