![]() | |
НПО Системы Безопасности (499)340-94-73 График работы: ПН-ПТ: 10:00-19:00 СБ-ВС: выходной ![]() ![]() |
Главная » Периодика » Безопасность 0 ... 3456789 ... 101 Из этих рассуждений вытекают следующие правила пере.вода целого числа из записи в системе счисления с основанием 5 в систему счисления с основанием R. 1. Разделить {x)g на R до получения остатка.. Остаток запомнить. 2. Проверить, не равно ли частное нулю. Если не равно, то принять его за новое число и вернуться к пункту 1. 3. Если частное равно нулю, то выписать все полученные остатки от деления в порядке, обратном порядку их получения. Полученная запись есть {x)j. Пример 1.1. Перевести число ()io - 2574 в шестеричную систему. 2574 I 6 О ~426 71 I 6 * 3 ~бб 11 1 б ~5 1 Li. . (X6> = 15 530. Для проверки правильности результата воспользуемся соотношением (1.1): 1-6 + 5-6 + 5-6 + 3-61 + 0-б = 2574. Пример 1.2. Перевести число (:)io = 421 в систему счисления с основанием 15. - . . В пятнадцатиричной системе кроме десяти обыч ных цифр необходимы еще цифры с количественными эквивалентами, равными 10, П, 12, 13 и 14. Обозначим эти цифры как а, р, 7, 8, е. 421 I 15 - • . • i20 ~2Ги5 15 1" \15 13 О В рассмотренном алгоритме перевода записи целого числа из системы счисления с основанием 5 в систему счисления с основанием R требуется уметь производить деление в системе с основанием 5. Можно предложить другой, алгоритм перевода, при котором отпадает необходимость проведения операций попра- вилам исходной системы и все операции проводятся по правилам системы с основанием R. Пусть некоторое число уже переведено в систему счисления с основанием R = m)LR + Kbj)L-iR"" + - + m]i-R+ Шо. Требуется перевести в эту систему запись числа {x)s-[iaj)l-Sf + + ... + [(«y)li-S4 + 1(«у)]о-5 + [К)]о. Для осуществления этого проделаем следующие операции в системе счисления с основанием R : m)]-R+ [(y)L-i-/r-4...+ [ibj)],-R%bj)U.R+[{7i,)], m)L-R"+ m)L-i-R"~+-+ [ibA-R+[ibj)o\)-{s~R) mj)L-R+ KbJ)L-гR"-:+..•+ Kbj)lR+Kbj)U-s+[{aj)]. , To, что стоит в скобках, есть {x)g, и, следовательно, полученное нами выражение есть {х). В приведенном, алгоритме перевода отсутствует . операция деления, которая весьма плохо реализуется в вычислительных машинах. Пример 1.3. Перевести (a:)io=1975 в двоичную систему счисления с цифрами О, 1. Перевод начинаем со старшей цифры исходного числа. Так как она равна единице, то имеем (1)2 = = (l}io. Применяя наш алгоритм, получим 1 (1>2 = (1>.0 10 умножение на 2 +1001 <1001)2 = (9>,о - 1000 умножение 1 На о iSSllO 11 \ll/2 = WlO 10011000 умножение 100110 на 8 11000001 умножение на 2 110000010 (101>2 = (5>,о 101 умножение 110000010 на 8 11000001000 11110001111 Окончательный ответ: (л:)2 = 1П10001111. Предложенный способ перевода пригоден, если Рассмотрим теперь проблему перевода дробных чисел. В отличие от перевода целых чисел при переводе дробей нельзя говорить о точном переводе, так как если даже 5-ичная дробь представляется в виде конечного представления, то нет никакой уверенности, что /?-ичное ее представление будет конечным. В связи с этим задачу перевода дробей ставят, как задачу аппроксимации исходной 5-ичной дроби /?-ичной дробью с заданной точностью е. Величину е удобно задавать в виде отрицательной степени R. Пусть x есть правильная 5-ичная дробь и Т(). = + [{aj)U-S- 4- ... + [(«,)] ,-S- Если ее требуется перевести в /?-ичную дробь с точностью то (xh=m)u-R- + m)u-R-+- + [{bj)Un-R-".. При этом Kaj)U-S- + [iaj)U-S- + ... + [(а,)] ,.5-* - • mu-R mu-R-+-+mum-R-""- Это равенство осуществляется с заданной точностью перевода. Умножим (л:) [на R по правилам - умножения чисел в системе счисления с основанием S-Тогда [(aj)WS-.R + [{a,)U-S--R + ... + - + m\-2R~\ - + [(;)]-.•/?-"+. Целая часть полученного произведения совпадает с щи. Пусть x -есть дробная часть числа xR. Тогда, если =[()]-2•/?- + mUR- +... + км-.-/?-" 0 ... 3456789 ... 101 |