русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

Арифметические операции над числами в различных системах счисления


Дата добавления: 2013-12-23; просмотров: 3017; Нарушение авторских прав


 

Все известные позиционные системы счисления являются аддитивно-мультипликативными. Особенно отчетливо аддитивно-мультипликативный способ образования чисел из базисных выражен в числительных русского языка, например пятьсот шестьдесят восемь (т.е. пять сотен плюс шесть десятков плюс восемь).

Арифметические действия над числами в любой позиционной системе счисления производятся по тем же правилам, что и в десятичной системе, так как все они основываются на правилах выполнения действий над соответствующими полиномами. При этом нужно только пользоваться теми таблицами сложения и умножения, которые имеют место при данном основании К системы счисления.

Отметим, что во всех позиционных системах счисления с любым основанием К умножения на числа вида Кm , где m - целое число, сводится просто к перенесению запятой у множимого на m разрядов вправо или влево (в зависимости от знака m), так же как и в десятичной системе.

Для указания того, в какой системе счисления записано число, условимся при его изображении основание системы счисления указывать в виде нижнего индекса при нем, например, 35.648.

 

В современной вычислительной технике, в устройствах автоматики и связи широко используется двоичная система счисления. Это система счисления с наименьшим возможным основанием. В ней для изображения числа используются только две цифры: 0 и 1.

Произвольное число X в двоичной системе представляется в виде полинома:

X = an´2n + an-1´2n-1+…+ a1´21+ a0´20 + a-1´2-1+…+ a-m´2-m… (3.9)

где каждый коэффициент аi может быть либо 0, либо 1.

Так как в двоичной системе счисления для изображения любых чисел используются только две различные цифры, то при построении ЭВМ можно использовать элементы, которые могут находиться только в двух состояниях (например, высокое или низкое напряжение в цепи, наличие или отсутствие электрического импульса и т.п.). Это обстоятельство, а также простота выполнения арифметических операций являются причиной того, что большинство современных ЭВМ используют двоичную систему счисления.



Неудобство использования двоичной системы счисления заключается в громоздкости записи чисел. Это неудобство не имеет существенного значения для ЭВМ. Однако если возникает необхо­димость кодировать информацию «вручную», например, при состав­лении программы на машинном языке, то предпочтительнее ока­зывается пользоваться восьмеричной или шестнадцатеричной сис­темой счисления (в силу их свойств, которые будут отмечены позднее).

В восьмеричной системе счисления базисными числами являются 0, 1, 2, 3, 4, 5, 6, 7. Запись любого числа в этой системе основывается на его разложении по степеням числа восемь с коэффициентами, являющимися указанными выше базисными числами.

Например, десятичное число 83.5 в восьмеричной системе будет
изображаться в виде 123.4. Действительно, эта запись по
определению означает представление числа в виде полинома:
1х82+2х81+3х80+4х8-1 = 64 + 16 + 3 + 4/8 = 83.5.

В шестнадцатеричной системе счисления базисными являются числа от нуля до пятнадцати. Эта система отличается от рассмотренных ранее тем, что в ней общепринятых (арабских) цифр не хватает для обозначения всех базисных чисел, поэтому приходится вводить в употребление новые символы. Обычно для обозначения первых десяти целых чисел от нуля до девяти используют арабские цифры, а для следующих целых чисел от десяти до пятнадцати используются буквенные обозначения A, B, C, D, E, F.

Например, десятичное число 175.5 в шестнадцатеричной системе будет записываться в виде AF.8. Действительно:

 

Перевод чисел из одной системы счисления в другую

 

При решении задач с помощью ЭВМ исходные данные обычно задаются в десятичной системе счисления; в этой же системе, как правило, нужно получить и окончательные результаты. Так как в современных ЭВМ данные кодируются в основном в двоичных кодах, то, в частности, возникает необходимость перевода чисел из десятичной в двоичную систему счисления и наоборот.

При рассмотрении правил перевода чисел из одной системы счисления в другую ограничимся только такими системами счис­ления, у которых базисными числами являются последовательные целые числа от 0 до Р-1 включительно, где Р - основание системы счисления.

Задача перевода заключается в следующем. Пусть известна запись числа х в системе счисления с каким-либо основанием Р:

pnpn-1…p1p0p-1p-2…,

где рi - цифры Р-ичной системы (0 £ рi £ Р-1). Требуется найти запись этого же числа х в системе счисления с другим основанием Q:

qsqs-1…q1q0q-1q-2…,

где qi - искомые цифры Q-ичной системы (0 £ qi £ Q-1). При этом можно ограничиться случаем положительных чисел, так как перевод любого числа сводится к переводу его модуля и приписыванию числу нужного знака.

При рассмотрении правил перевода нужно учитывать, средствами какой арифметики должен быть осуществлен перевод, т.е. в какой системе счисления должны быть выполнены все необходимые для перевода действия. Условимся считать, что перевод должен осущест­вляться средствами Р-ичной арифметики.

Перевод Q®P. Задача перевода произвольного числа х, задан­ного в системе счисления с основанием Q, в систему счисления с основанием Р сводится к вычислению полинома вида

X=qnQn + qn-1Qn-1 +…+ q1Q1 + q0Q0 + q-1Q-1 +…+ q-mQ-m (3.13)

Для получения Р-ичного изображения выражения (3.13) необхо­димо все цифры qi и число Q заменить Р-ичными изображениями и выполнить арифметические операции в Р-ичной системе счисления.

Заметим, что при переводе следует придерживаться правила сохранения точности изображения числа в разных системах, причем под точностью понимается значение единицы самого младшего (правого) разряда, используемого в записи числа в той или иной системе счисления.

Перевод Р®Q. Так как для перевода любого числа достаточно уметь переводить его целую и дробную части, рассмотрим отдельно эти два случая.

1. Перевод целых чисел. Пусть известна запись целого числа N в системе счисления с основанием Р и требуется перевести это число в систему счисления с основанием Q. Так как N - целое, то его запись в Q-ичной системе счисления имеет вид

N = qsqs-1q1q0,

где qi - искомые цифры Q-ичной системы (0 £ qi < Q-1). Для опреде­ления q0 разделим обе части равенства:

N = qsQs+ qs-1Qs-1+…+ q1Q1+q0 (3.14)

на число Q, причем в левой части произведем деление, пользуясь
правилами Р-ичной арифметики (так как запись числа N в Р-ичной
системе счисления известна), а правую часть перепишем в виде

N/Q = qsQs+ qs-1Qs-1+…+ q1Q1+q0 / Q

Приравнивая между собой полученные целые и дробные части (учитывая, что qi < Q):

[N/Q] = qsQs-1+ qs-1Qs-2+…+ q1

[N/Q]=q0/Q

Таким образом, младший коэффициент q0 в разложении (3.14) определяется соотношением

Q0=Q[N/Q],

причем указанные здесь действия на самом деле не выполняются, так как q0 является просто остатком от деления N на Q.



<== предыдущая лекция | следующая лекция ==>
Позиционные и непозиционные системы счисления | Тогда x1 будет правильной дробью и к этому числу можно применить ту же самую процедуру для определения следующего коэффициента q-2 и т.д.


Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.

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