Полезное:
Как сделать разговор полезным и приятным
Как сделать объемную звезду своими руками
Как сделать то, что делать не хочется?
Как сделать погремушку
Как сделать так чтобы женщины сами знакомились с вами
Как сделать идею коммерческой
Как сделать хорошую растяжку ног?
Как сделать наш разум здоровым?
Как сделать, чтобы люди обманывали меньше
Вопрос 4. Как сделать так, чтобы вас уважали и ценили?
Как сделать лучше себе и другим людям
Как сделать свидание интересным?
Категории:
АрхитектураАстрономияБиологияГеографияГеологияИнформатикаИскусствоИсторияКулинарияКультураМаркетингМатематикаМедицинаМенеджментОхрана трудаПравоПроизводствоПсихологияРелигияСоциологияСпортТехникаФизикаФилософияХимияЭкологияЭкономикаЭлектроника
|
Перевод чисел из десятичной системы счисления в произвольнуюПеревести число из десятичной системы в систему с основанием p – значит найти коэффициенты в формуле (2). Иногда это легко сделать простым подбором. Например, пусть нужно перевести число 23,5 в восьмеричную систему. Нетрудно заметить, что 23,5 = 16+7+0,5 = 2·8+7+4/8 = 2·81+7·80+4·8–1 =27,48. Понятно, что не всегда ответ столь очевиден. В общем случае применяется способ перевода отдельно целой и дробной частей числа. Для перевода целых чисел применяется следующий алгоритм (полученный на основании формулы (1)): 1. Найдем частное и остаток от деления числа на p. Остаток будет очередной цифрой ai (j=0,1,2 …) записи числа в новой системе счисления. 2. Если частное равно нулю, то перевод числа закончен, иначе применяем к частному пункт 1. Замечание 1. Цифры ai в записи числа нумеруются справа налево. Замечание 2. Если p>10, то необходимо ввести обозначения для цифр с числовыми значениями, большими или равными 10. Пример: Перевести число 165 в семеричную систему счисления. 165:7 = 23 (остаток 4) => a0 = 4 23:7 = 3 (остаток 2) => a1 = 2 3:7 = 0 (остаток 3) => a2 = 3 Выпишем результат: a2a1a0, т.е. 3247. Выполнив проверку по формуле (1), убедимся в правильности перевода: 3247=3·72+2·71+4·70=3·49+2·7+4 = 147+14+4 = 165. Для перевода дробных частей чисел применяется алгоритм, полученный на основании формулы (2): 1. Умножим дробную часть числа на p. 2. Целая часть результата будет очередной цифрой am (m = –1,–2, –3 …) записи числа в новой системе счисления. Если дробная часть результата равна нулю, то перевод числа закончен, иначе применяем к ней пункт 1. Замечание 1. Цифры am в записи числа располагаются слева направо в порядке возрастания абсолютного значения m. Замечание 2. Обычно количество дробных разрядов в новой записи числа ограничивается заранее. Это позволяет выполнить приближенный перевод с заданной точностью. В случае бесконечных дробей такое ограничение обеспечивает конечность алгоритма. Пример 1: Перевести число 0,625 в двоичную систему счисления. 0,625·2 = 1,25 (целая часть 1) => a-1 =1 0,25·2 = 0,5 (целая часть 0) => a-2 = 0 0,5·2 = 1,00 (целая часть 1) => a-3 = 1 Итак, 0,62510 = 0,1012 Выполнив проверку по формуле (2), убедимся в правильности перевода: 0,1012=1·2-1+0·2-2+1·2-3=1/2+1/8 = 0,5+0,125 = 0,625. Пример 2: Перевести число 0,165 в четверичную систему счисления, ограничившись четырьмя четверичными разрядами. 0,165·4 = 0,66 (целая часть 0) => a-1=0 0,66·4 = 2,64 (целая часть 2) => a-2= 2 0,64·4 = 2,56 (целая часть 2) => a-3= 2 0,56·4 = 2,24 (целая часть 2) => a-4= 2 Итак, 0,16510 ” 0,02224 Выполним обратный перевод, чтобы убедиться, что абсолютная погрешность не превышает 4–4: 0,02224 = 0·4-1+2·4-2+2·4-3+2·4-4= 2/16+2/64+2/256 = 1/8+1/32+1/128 = 21/128 = 0,1640625 |0,1640625–0,165| = 0,00094 < 4–4 = 0,00390625 Перевод чисел из одной произвольной системы в другую В этом случае сначала следует выполнить перевод числа в десятичную систему, а затем из десятичной в требуемую. Особым способом выполняется перевод чисел для систем с кратными основаниями. Пусть p и q – основания двух систем счисления. Будем называть эти системы системами счисления с кратными основаниями, если p = qn или q = pn, где n – натуральное число. Так, например, системы счисления с основаниями 2 и 8 являются системами счисления с кратными основаниями. Пусть p = qn и требуется перевести число из системы счисления с основанием q в систему счисления с основанием p. Разобьем целую и дробную части записи числа на группы по n последовательно записанных цифр влево и вправо от запятой. Если количество цифр в записи целой части числа не кратно n, то надо дописать слева соответствующее количество нулей. Если количество цифр в записи дробной части числа не кратно n, то нули дописываются справа. Каждая такая группа цифр числа в старой системе счисления будет соответствовать одной цифре числа в новой системе счисления. Пример: Переведем 1100001,1112 в четверичную систему счисления. Дописав нули и выделив пары цифр, получим 01100001,11102. Теперь выполним перевод отдельно каждой пары цифр, пользуясь пунктом Перевод чисел из одной произвольной системы в другую. 012=110=14 102=210=24 002=010=04 012=110=14 112=310=34 102=210=24 Итак, 1100001,1112 = 01100001,11102 = 1201,324. Пусть теперь требуется выполнить перевод из системы с большим основанием q, в систему с меньшим основанием p, т.е. q = pn. В этом случае одной цифре числа в старой системе счисления соответствует n цифр числа в новой системе счисления. Пример: Выполним проверку предыдущего перевода числа. 1201,324 = 1100001,11102=1100001,1112 В шестнадцатеричной системе есть цифры с числовыми значениями 10,11,12, 13,14,15. Для их обозначения используют первые шесть букв латинского алфавита A, B, C, D, E, F. Приведем таблицу чисел от 0 до 16, записанных в системах счисления с основаниями 10, 2, 8 и 16.
Для записи шестнадцатеричных цифр можно использовать также строчные латинские буквы a-f. Пример: Переведем число 110101001010101010100,112 в шестнадцатеричную систему счисления. Воспользуемся кратностью оснований систем счисления (16=24). Сгруппируем цифры по четыре, дописав, слева и справа нужное количество нулей 000110101001010101010100,11002 и, сверяясь с таблицей, получим: 1A9554,C16 Вывод: В какой системе счисления лучше записывать числа – это вопрос удобства и традиций. С технической точки зрения, в ЭВМ удобно использовать двоичную систему, так как в ней для записи числа используются только две цифры 0 и 1, которые можно представить двумя легко различимыми состояниями “нет сигнала ” и “есть сигнал”. А человеку, напротив, неудобно иметь дело с двоичными записями чисел из-за того, что они более длинные, чем десятичные и в них много повторяющихся цифр. Поэтому, при необходимости работать с машинными представлениями чисел используют восьмеричную или шестнадцатеричную системы счисления. Основания этих систем – целые степени двойки, и поэтому числа легко переводятся из этих систем в двоичную и обратно.
Любая позиционная система вводится следующим образом. Выбирается основание р — целое число и алфавит из р цифр: О, 1, 2,..., р-1. Тогда любое число Х в этой системе представляется в виде суммы произведений: Перевод чисел из одной позиционной системы в другую Например: переведем (1234)10 в 16-ричное число.
228В позиционных системах счисления один и тот же числовой знак (цифра) в записи числа имеет различные значения в зависимости от того места, где он расположен. Такая система счисления основывается на том, что некоторое число n единиц (основание системы счисления) объединяется в одну единицу второго разряда, n единиц второго разряда объединяются в одну единицу третьего разряда и т. д. Основанием системы счисления может быть любое число, большее единицы. Изобретение позиционной нумерации, основанной на поместном значении цифр, приписывается шумерам ивавилонянам; развита была такая нумерация индусами и имела неоценимые последствия в истории человеческой цивилизации.
|