Студопедия

КАТЕГОРИИ:


Архитектура-(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; Просмотров: 933; Нарушение авторских прав?; Мы поможем в написании вашей работы!


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



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




Генерация страницы за: 0.009 сек.