Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Метод деления (умножения) на новое основание





 

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

Преобразование целых чисел.

Задачу представления числа N, заданного в системе q1, в системе счисления с основанием q2 можно рассматривать как задачу поисков коэффициентов полинома, представляющего собой расширенную запись числа N в системе счисления q2:

Nq1 = а0 + а1*q 21 + а2*q22+....+ аn-2*q 2n-2+ аn-1*q2n-1+ аn*q2n =Nq2. (3)

Введем скобочную форму для выражения (3):

 
 

 


 

Обозначим выражение в первой скобке как N1, выражение во второй скобке как N2, выражение в третьей скобке - как N3 и т.д., выражение в (n-1)-й скобке - как N(n-1), выражение в n-й скобке - как Nn. Теперь, основываясь на выражении (3), можно утверждать, что при делении Nq1/ q2 будет получена целая часть частного int(Nq1/q 2) и остаток rest(Nq1/q 2). Это можно записать как

Nq1/q2 à int(Nq1/q2),- целая часть частного N1, и остаток rest(Nq1/q 2), равный а0;

Аналогично для остальных скобок будем иметь:

N1/q 2à int(N1/q2), равно N2 и остаток rest(N1/q2), равный а1;

N2/q2 à int(N2/q2), равно N3, и остаток rest(N2/q2), равный а2;

........

N(n-2)/q 2 à int(N(n-2)/q1), равно N(n-1), остаток rest(N(n=2)/q1), равный а(n-2);

N(n-1)/q2 à int(N(n-1)/q2)= Nn = аn, и остаток rest(N(n-1)/q2), равный а (n-1); при этом Nn< q2.

Отсюда вытекает правило формирования коэффициентов полинома (3) или разрядов записи заданного числа N в системе счисления с основанием q2:

- необходимо разделить исходное число N q1 на новое основание q2, при этом получив целое частное и остаток;

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



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

 

Пример.

Найти запись в двоичной форме десятичного числа N10=436.

Решение.

Делим сначала исходное число N10, а затем получаемые частные на значение нового основания 2 до получения частного со значением, меньше чем два:

436/2àint(436/2) =218 и rest (436/2)= 0;

218/2àint(218/2) =109 и rest (218/2)= 0;

109/2àint(109/2) =54 и rest (109/2)= 1;

54/2àint(54/2) = 27и rest (54/2)= 0;

27/2àint(27/2) = 13 и rest (27/2)= 1;

13/2àint(13/2) = 6 и rest (13/2)= 1;

6/2àint(6/2) = 3 и rest (6/2)= 0;

3/2àint(3/2) = 1 и rest (3/2)= 1.

Таким образом, 436 =11 0110100.

 

Преобразование дробных чисел.

Задача представления дробного числа Mq1, заданного в системе q1, в системе счисления с основанием q2, можно рассматривать как задачу поиска коэффициентов полинома, представляющего собой расширенную запись числа M в системе счисления q2:

b1*q2-1 + b2 -2 *q2+ b3*q2-3 +....+b n-2*q2-(n-2) + b n-1*q2-(n-1) + bn*q2-n =M q2 . (4)

Введем скобочную форму для выражения (4):

 

Обозначим выражение в первой скобке как M1, выражение во второй скобке - как M2, выражение в третьей скобке - как M3 и т.д., выражение в (n-1)-й скобке как M n-1, выражение в n-ой скобке как Mn.

Число M q1 - правильная дробь, поэтому при умножении M q1* q2 будет получено произведение, в общем случае состоящее из целой части int(M q1* *q2) и дробной части DF (M q1* q2). Использование введенных обозначений позволяет записать:

M q1* q2 = (int(M q1* q2) = b1) + ( DF(M q1* q2) = M1 );

аналогично для остальных скобок будем иметь:

M1* q2 = (int(M1* q2) =b2) + ( DF(M1* q2) = M2);

M2* q2 = (int(M2* q2) =b3) + ( DF(M2* q2) = M3);

M3* q2= (int(M3* q2) =b4) + ( DF(M3* q2) = M4);

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

Mn-2* q2 = (int(Mn-2* q2) =bn-1)+ ( DF(M n-2* q2) = Mn-1);

Mn-1* q2 = (int(Mn-1* q2) =bn) + ( DF(M n-1* q2) = Mn);

M n* q2 = (int(M n* q2) =b n+1) + ( DF(M n* q2) = Mn+1).

 

Отсюда вытекает следующее правило формирования коэффициентов полинома, которые одновременно являются разрядами записи заданного числа M в системе счисления с основанием q2:

- определяется количество разрядов «n» в записи числа Mq2 в новой системе счисления (см. подраздел 1.2.1);

- исходное число Mq1 умножается на q2, при этом будет получено смешанное число;

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

- в качестве первого старшего разряда искомой записи числа в новом основании берется значение целой части первого произведения, в качестве второго старшего разряда искомой записи числа в новом основании берется значение целой части второго произведения и т.д.

Пример

Найти запись в двоичной форме десятичного числа M10 =0.7.

Определяем количество разрядов числа M2. Так как исходная запись числа содержит один десятичный разряд, то запись данного числа в двоичном основании должна содержать четыре разряда. Учитывая округление, ищется предварительный двоичный эквивалент с пятью разрядами.

Умножаем исходное число M10, а затем дробные части последовательно получаемые произведений на новое основания 2. Выполняется пять таких операций умножения, в результате получаем:

0.7*2 =1.4 (int(0.7*2) =1 и DF (0.7*2)= 0.4);

0.4*2=0.8 (int(0.4*2) =0 и DF(rest (0.4*2)=0.8);

0.8*2=1.6 (int(0.8*2) =1 и DF(rest (0.8*2)=0.6);

0.6*2=1.2 (int(0.6*2) =1 и DF(rest (0.6*2)=0.2);

0.2*2=0.4 (int(0.2*2) =0 и DF(rest (0.2*2)=0.4).

Таким образом, 0.7 =0.1011 0, а окончательный результат перехода в двоичную систему будет



0.710 = 0.10112.

 





Дата добавления: 2014-01-07; Просмотров: 751; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



ПОИСК ПО САЙТУ:


Рекомендуемые страницы:

Читайте также:
studopedia.su - Студопедия (2013 - 2021) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление
Генерация страницы за: 0.005 сек.