|
Тема 1.3. Преобразование чисел из одной системы счисления в другуюВ результате изучения данной темы Вы будете:
Вычислительные машины работают с двоичными кодами, а пользователю удобнее иметь дело с десятичными или шестнадцатеричными. Поэтому возникает необходимость перевода чисел из одной системы счисления в другую. Преобразование числа Х из системы счисления с основанием q в систему счисления основанием р (преобразование Х(q) → Х(p)) осуществляется по правилу замещения или по правилу деления-умножения на основание системы счисления. Давайте подробней остановимся на этих правилах. Правило замещения Реализуется на основании формулы (1.1) и предусматривает выполнение арифметических операций с кодами чисел в новой системе счисления. Поэтому оно чаще всего используется для преобразования чисел из недесятичной системы счисления в десятичную. Например, выполним преобразование Х(2) → Х(10), если Х(2) = 10101,011: X(10) = 1•24+0•23+1•22+0•21+l•20+0•2-l+l•2-2+l•2-3 = 21,375 Правило деления-умножения Предусматривает выполнение арифметических операций с кодами чисел в исходной системе счисления с основанием q, поэтому его удобно применять для преобразования десятичных чисел в любые другие позиционные системы счисления. Правила преобразования целых чисел и правильных дробей различны. Для преобразования целых чисел используется правило деления, а для преобразования правильных дробей – правило умножения. Для преобразования смешанных чисел используются оба правила соответственно для целой и дробной частей числа. Правило деления Используется для преобразования целого числа, записанного в q-ичной системе счисления, в р-ичную. В этом случае необходимо последовательно делить исходное q-ичное число и получаемые частные на новое основание р, представленное в p-ичной системе счисления. Деление продолжают до тех пор, пока очередное частное не станет меньше р. После замены полученных остатков и последнего частного цифрами ручной системы счисления записывается код числа в новой системе счисления. При этом старшей цифрой является последнее частное, а следующие за ней цифры соответствуют остаткам, записанным в последовательности, обратной их получению.
Например, выполним преобразование Х(10) → Х(16), если Х(10) = 7038: Для получения частных и остатков по правилу деления для целой части числа удобно использовать формулу записи, известную под названием «деление в столбик»: Таким образом, из полученных остатков деления (14, 7, 11, 1, а используя основание 16: E, 7, B, 1) выводим число 1B7E(16). Правило умножения Используется для преобразования дробного числа, записанного в q-ичной системе счисления, в р-ичную. В этом случае необходимо последовательно умножать исходную дробь и дробные части получающихся произведений на основание р, представленное в исходной q-ичной системе счисления. Целые числа получаемых произведений, замененные цифрами р-ичиой системы счисления и дают последовательность цифр в новой р-ичной системе. Умножение необходимо производить до получения в искомом р-ичном коде цифры того разряда, вес которого меньше веса младшего разряда исходной q-ичной дроби. При этом в общем случае получается код приближенно, и всегда с недостатком значения дроби. Поэтому в случае обратного преобразования (р-ичиого кода дроби в q-ичный) результат может не совпадать с исходным значением q-ичной дроби.
Например, выполним преобразование X(10) → X(2), если X(10) = 37,45. Для целой части (37) используем правило деления, а для получения дробной части числа (0,45) – правило умножения. Применительно к рассматриваемому примеру имеем: Таким образом, в результате преобразования получаем 37,45(10) = 100101,0111…(2). Как следует из примера, процесс перевода дробной части можно продолжить до бесконечности. Однако, т.к. компьютеры оперирует числами конечной точности, дроби округляют в соответствии с правилами преобразования и весом младшего разряда исходной дроби. Упрощенные правила Преобразование чисел из двоичной системы счисления в восьмеричную, шестнадцатеричную и обратно осуществляется по упрощенным правилам. Учитывается то, что основания этих систем счисления кратны целой степени 2, т. е. 8=23, а 16=24. Это означает, что при преобразовании восьмеричного кода числа в двоичный, необходимо каждую восьмеричную цифру заменить соответствующим трехзначным двоичным кодом (триадой). Например, двоичное число 100111(2) можно разбить на две триады 100(2) и 111(2) – что соответствует двум восьмеричным числам 4(8) и 7(8). Таким образом, 100111(2) = 47(8).
При преобразовании шестнадцатеричного кода числа в двоичный необходимо каждую шестнадцатеричную цифру заменить четырехзначным двоичным кодом (тетрадой). Например, двоичное число 101000101011(2) можно разбить на три тетрады 1010(2), 0010(2) и 1011(2) – что соответствует трем шестнадцатеричным числам A(16), 2(16) и B(16). Таким образом, 101000101011 (2) = A2B(16).
При преобразовании двоичного кода в восьмеричный или шестнадцатеричный двоичный код делится соответственно на триады или тетрады влево и вправо от запятой (точки), разделяющей целую и дробные части числа. Затем триады (тетрады) заменяются восьмеричными (шестнадцатеричными) цифрами. Если при разбиении двоичного кода в крайних триадах (тетрадах) недостает цифр до нужного количества, они дополняются нулями. Соответственно, «лишние» нули слева и справа, не вошедшие в триады (тетрады) отбрасываются.
Пример
Пример
Подведем итоги
Вопросы для самоконтроля 1. Назовите правила перевода чисел из одной системы счисления в другую. В каких случаях применяется каждое правило? 2. В каких случаях можно применить упрощенные правила перевода? В чем заключается смысл этих правил? Индивидуальные задания 1. Преобразуйте следующие числа в двоичные: 2003, 4000, 8254. __________________________________________________________________________________________________________________________________________________________________________ 2. Выразите год своего рождения в системах счисления с основаниями от 2 до 9. ____________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________ 3. Сколько различных положительных целых чисел можно выразить в k разрядах, используя числа с основанием системы счисления r? _______________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________ 4. Выполните преобразование X(10) → X(2), если X(10) = 321,82. _________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________ 5. Составьте таблицы умножения для чисел системы счисления с основанием 3. ______________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________
ЧТО ТАКОЕ УВЕРЕННОЕ ПОВЕДЕНИЕ В МЕЖЛИЧНОСТНЫХ ОТНОШЕНИЯХ? Исторически существует три основных модели различий, существующих между... Что будет с Землей, если ось ее сместится на 6666 км? Что будет с Землей? - задался я вопросом... Конфликты в семейной жизни. Как это изменить? Редкий брак и взаимоотношения существуют без конфликтов и напряженности. Через это проходят все... Что делать, если нет взаимности? А теперь спустимся с небес на землю. Приземлились? Продолжаем разговор... Не нашли то, что искали? Воспользуйтесь поиском гугл на сайте:
|