А.А. Вылиток, М.О. Проскурня - Введение в системы счисления (1109885), страница 2
Текст из файла (страница 2)
Так как слева от eпроизводная положительна, а справа − отрицательна, значит, в точке e функция X имеетмаксимум. В качестве основания СС иррациональное число e использовать нельзя —нужно выбрать ближайшее целое. Ближе всего к e расположены целые числа 3 и 2.1.4. Преобразования из одной системы счисления в другуюВ этом разделе мы рассмотрим алгоритмы перевода записей чисел в рамкахпозиционных СС с разными геометрическими базисами.
Здесь необходимо уточнитьпредставление произвольного рационального числа x. Для этого необходимо расширитьбазис отрицательными степенями p−k основания СС. Тогда представление (4) можнообобщить в виде:x = an − 1 pn − 1 + an − 2 pn − 2 + ... + a1 p1 + a0 p0 + a−1 p−1 + ...
+ a−m p−m,(7)где n и m — число целых и дробных разрядов, соответственно.1.4.1. Перевод из десятичной системы в q-ичную и обратноПри переводе чисел из десятичной системы счисления в систему с основаниемq > 1 обычно используют следующий алгоритм (он основан на представлении (7),доказательство здесь не приводится):1) если переводится целая часть числа, то она делится на q; в результатеполучаются целая часть от деления (частное) и остаток.
Остаток (число от 0 до q − 1)изображается в виде одной q-ичной цифры и запоминается. Полученное частное вновьделится на q, остаток запоминается. Процедура продолжается до тех пор, пока частное нестанет равным нулю. Остатки от деления на q выписываются в порядке, обратном ихполучению.2) если переводится дробная часть числа, то она умножается на q, после чего целаячасть запоминается (в виде q-ичной цифры) и отбрасывается. Вновь полученная дробнаячасть умножается на q и т. д.
Процедура продолжается до тех пор, пока не выполнитсяодно из условий: а) дробная часть равна нулю; б) обнаружен период — повторяющаясяпоследовательность целых частей. Целые части выписываются после двоичной запятой впорядке их получения. Результатом может быть либо конечная, либо периодическая qичная дробь. Поэтому, когда дробь является периодической и период слишком велик,приходится обрывать умножение на каком-либо шаге и довольствоваться приближеннойзаписью исходного числа в системе с основанием q. Конечной десятичной дроби в qичной системе может соответствовать периодическая дробь, например: 0,110 = 0,(0022)3.Пример 1Перевести данное число из десятичной системы счисления в двоичную:а) 464 10; б) 380,1875 10; в) 115,94 10 (получить пять знаков после запятой в двоичномпредставлении).Решение464232116582914731|||||||||38019095472311521000010111|||||||||001111101|18750|3750|751|51|0115572814731|||||||1100111|941|881|761|521|040|080|16а) 46410 = 111010000 2;б) 380,1875 10 = 101111100,0011 2;в) 115,94 10 ≈ 1110011,11110 2 (в последнем случае было получено шесть знаковпосле запятой, после чего результат был округлен).Если исходное число дано с точностью до 10−n, то чтобы сохранить точность припереводе в q-ичную систему, необходимо получить k цифр, где k — наименьшее средичисел, удовлетворяющих неравенству q−k ≤ 10−n.1.4.2.
Обратный переводПри переводе чисел из системы счисления с основанием q в десятичную системусчисления необходимо пронумеровать разряды целой части справа налево, начиная снулевого, и в дробной части, начиная с разряда сразу после запятой слева направо(начальный номер −1). Затем вычислить сумму произведений соответствующих значенийразрядов на основание системы счисления в степени, равной номеру разряда. Это и естьпредставление исходного числа в десятичной системе счисления. Другими словами,вычислить по правилам десятичной арифметики значение выражения (7), в котором q икоэффициенты ai записаны в десятичной системе.Пример 2Перевести данное число в десятичную систему счисления.а) 1000001 2.654321010000011000001 2 = 1⋅ 26 + 0⋅25 + 0⋅24 + 0⋅23 + 0⋅22 + 0⋅21 + 1⋅20 = 64 + 1 = 65 10.Замечание.
Очевидно, что если в каком-либо разряде стоит нуль,соответствующее слагаемое можно опускать.тоб) 1000011111,0101 2.9876543210−1−2−3−4100001111101011000011111,0101 2 =1⋅29 + 1⋅24 + 1⋅23 + 1⋅22 + 1⋅21 + 1⋅20 + 1⋅2-2 + 1⋅2-4 = 512 + 16 + 8+ 4 + 2 + 1 + 0,25 + 0,0625 = 543,3125 10.в) 1216,04 8.1216,04 8 =1⋅83 + 2⋅82 + 1⋅81 + 6⋅80 + 4⋅8−2 = 512 + 128 + 8 + 6 + 0,0625 = 654,062510.г) 29A,5 16.29A,5 16 = 2⋅162 + 9⋅161 + 10⋅160 + 5⋅16−1 = 512 + 144 + 10 + 0,3125 = 666,312510.Перевод из q-ичной системы в десятичную — это по сути вычисление значениямногочлена в точке q. Для таких вычислений известен быстрый алгоритм — схемаГорнера:an − 1 qn − 1 + an − 2 qn − 2+ ...
+ a1 q1 + a0 = ((( an − 1 q+ an − 2) q +…) q + a1) q + a0(8)1.4.3. Перевод из q-ичной системы в систему с основанием qm и обратноДля некоторых частных случаев, проанализировав представление числа в видеразложения по степеням основания СС (7), можно получить более простые способыперевода.Если необходимо перевести число из двоичной системы счисления в системусчисления, основанием которой является степень двойки, достаточно объединить цифрыдвоичного числа в группы по столько цифр, каков показатель степени, и использоватьприведенный ниже алгоритм. Например, если перевод осуществляется в восьмеричнуюсистему, то группы будут содержать три цифры (8 = 23).
Итак, в целой части будемпроизводить группировку справа налево, в дробной — слева направо. Если в последнейгруппе недостает цифр, дописываем нули: в целой части — слева, в дробной — справа.Затем каждая группа заменяется соответствующей цифрой новой системы.
Соответствияприведены в таблицах.qqq2824000011102113000 001 010 011 100 101 110 111012345672 0000 0001 0010 0011 0100 0101 0110 0111 1000 1001 1010 1011 1100 1101 1110 1111123456789ABCDEF16 0Переведем из двоичной системы в шестнадцатеричную число 1111010101,11 2.0011 1101 0101,1100 2 = 3D5,C 16.Легко обобщить этот способ и на другие основания. Например, при переводе изтроичной в 27-ричную систему, понадобится группировка по три цифры и замена каждойтройки одной 27-ричной цифрой. Для изображения цифр, значения которых большедевяти, обычно используются буквы латинского алфавита: десять — A, одиннадцать — Bи т.
д.При обратном переводе каждую цифру qт-ичной системы записываютсоответствующей m-кой q-ичных цифр. Незначащие нули из получившейся записи можноудалить.Пример7401,1 8 = 111 100 000 011,001 2;1A0,4 16 = 0001 1010 0000, 0100 2 = 110100000,01 21.4.4. Перевод из q-ичной в p-ичную системуПеревод из q-ичной в p-ичную систему можно осуществить через перевод из из qичной в десятичную, а затем из десятичной в p-ичную систему. Можно напрямую:записать основание q и коэффициенты в представлении (7) в p-ичной системе и вычислитьзначение выражения, пользуясь таблицами сложения и умножения для p-ичной системы.1.4.5. Арифметические операции в q-ичной системеДля выполнения арифметических операций в системе счисления с основанием qнеобходимо иметь соответствующие таблицы сложения и умножения. Для q = 2, 8 и 16таблицы представлены ниже.+01×010010001110101+01234567×012345670012345670000000001123456710101234567223456710112024610121416334567101112303611141722254456710111213404101420243034556710111213145051217243136436671011121314156061422303644527710111213141516707162534435261Пример 3Сложить числа:а) 10000000100 2 + 111000010 2 = 10111000110 2б) 223,2 8 + 427,54 8 = 652,74 8в) 3B3,6 16 + 38B,4 16 = 73E,A 161000000010011100001010111000110−223,2427,54652,74−−3B3,638B,473E,A−27D,D8191,2EC,B8×61,A40,D4F 52186818B7,52Пример 4Выполнить вычитание:а) 1100000011,011 2 − 101010111,1 2 = 110101011,111 2.б) 1510,2 8 − 1230,54 8 = 257,44 8.в) 27D,D8 16 − 191,2 16 = EC,B8 16.1100000011,011101010111,1110101011,111−1510,21230,54257,44−Пример 5Выполнить умножение:а) 100111 2 × 1000111 2 = 101011010001 2б) 1170,64 8 × 46,3 8 = 57334,134 8в) 61,A 16 × 40,D 16 = 18B7,52 16×+++1001111000111100111100111100111100111101011010001×++1170,6446,3355 2347324 7047432 057334,134++0123456789ABCDEF00123456789ABCDEF1123456789ABCDEF10223456789ABCDEF101133456789ABCDEF1011124456789ABCDEF10111213556789ABCDEF101112131466789ABCDEF1011121314157789ABCDEF10111213141516889ABCDEF101112131415161799ABCDEF101112131415161718AABCDEF10111213141516171819+0123456789ABCDEFBBCDEF101112131415161718191ACCDEF101112131415161718191A1BDDEF101112131415161718191A1B1CEEF101112131415161718191A1B1C1DFF101112131415161718191A1B1C1D1E×0123456789ABCDEF0000000000000000010123456789ABCDEF202468ACE10121416181A1C1E30369CF1215181B1E2124272A2D4048C1014181C2024282C3034383C505AF14191E23282D32373C41464B606C12181E242A30363C42484E545A707E151C232A31383F464D545B62698081018202830384048505860687078909121B242D363F48515A636C757E87A0A141E28323C46505A646E78828C96B0B16212C37424D58636E79848F9AA5C0C1824303C4854606C7884909CA8B4D0D1A2734414E5B6875828F9CA9B6C3E0E1C2A38465462707E8C9AA8B6C4D2F0F1E2D3C4B5A69788796A5B4C3D2E11.5.
Список литературы[1] Фомин С.В. Системы счисления. — 5-е изд. — М.: Наука, 1987.[2] Яглом И.М. Системы счисления. — Квант, 1991 № 12, с. 14–22..