Арифметические действия над числами
ТЕМА 3. ИНФОРМАЦИОННО-ЛОГИЧЕСКИЕ ОСНОВЫ ПОСТРОЕНИЯ ЭВМ
ЛЕКЦИЯ 3.1. ПОЗИЦИОННЫЕ СИСТЕМЫ СЧИСЛЕНИЯ
ОСНОВНЫЕ ПОНЯТИЯ СИСТЕМ СЧИСЛЕНИЯ
Вся информация в ЭВМ представляется в виде чисел. Выразив эти числа в какой-либо системе счисления, можно получить код, основанный на данной системе счисления. Для понимания способов представления информации в ЭВМ необходимо изучить позиционные системы счисления.
Совокупность приемов и правил представления чисел с помощью цифровых знаков называется системой счисления.
В зависимости от способа изображения чисел системы счисления делятся на 2 типа:
· непозиционные;
· позиционные.
В непозиционных системах счисления значение любой цифры не зависит от занимаемой ею позиции в числе. Например, римская система, в которой в числе XXX каждый разряд означает 10 единиц (L – 50, C – 100, D – 500, М – 1000). В непозиционных системах счисления не представляются дробные и отрицательные числа, действия над числами связаны с большими трудностями и не имеют правил.
В позиционных системах счисления значение любой цифры в числе зависит от ее положения (позиции) в ряду цифр, изображающих это число.
Основным понятием любой позиционной системы счисления является основание. Оно показывает:
1) сколько различных цифр в системе счисления;
2) во сколько раз изменяется количественное значение цифры при перемещении ее на соседнюю позицию.
|
|
В зависимости от основания различают следующие системы счисления:
· десятичную (Dec)(0, 1, 2, 3,…, 9);
· восьмеричную (Oct)(0, 1, 2,…, 7);
· двоичную (Bin) (0, 1);
· шестнадцатеричную (Hex) (0, 1,…, 9, A (10), B (11), C (12), D (13), E (14), F (15)).
В древнем Вавилоне использовали систему счисления с основанием 60. Деление часа на 60 минут, а минуты на 60 секунд заимствовано именно из этой системы.
Представление целых неотрицательных чисел
Любое целое неотрицательное число, записанное в позиционной системе счисления:
можно представить в виде степенного ряда (полинома):
Здесь Qm – число в m - й системе счисления, m – основание системы счисления, l – количество разрядов целого числа, i – номер разряда данного числа, ai – цифра числа, записанного в m – й системе счисления, принимающая любые значения от 0 до (m-1) и показывающая, сколько единиц i- го разряда содержится в числе, mi-1 – вес i-того разряда.
Максимальное целое число, которое может быть представлено в l разрядах:
Qmaх=ml -1
Имея l разрядов, можно записать всего ml разных чисел.
Каждое слагаемое в приведенном выражении называется термом. Крайняя правая цифра любого числа называется его младшим или наименьшим (a1) значащим разрядом (МЗР), крайняя левая – старшим или наибольшим (al) значащим разрядом (СЗР).
|
|
Кроме полиномиальной записи используется еще одна форма записи, которая называется схемой Горнера.
Эта форма используется при переводе чисел из одной системы счисления в другую.
В ЭВМ для представления информации (данных) используется двоичная система счисления. Ее достоинства:
- используется только 2 символа (цифры) 0 и 1, что хорошо согласуется с техническими характеристиками цифровых схем, имеющих, как правило, 2 устойчивых состояния;
- в двоичной системе легко реализуются арифметические операции над числами:
0+0=0
0´0=0
1+0=1
1´0=0
0+1=1
0´1=0
1+1=10
1´1=1
Недостаток: длинные числа, которые неудобно записывать. Двоичное представление числа требует примерно в 3.3 раза большего числа разрядов, чем его десятичное представление.
Двоичная цифра называется битом.
Восьмеричная и шестнадцатеричная системы употребляются при общении с ЭВМ как промежуточные именно для сокращения записи двоичных чисел.
Перевод целых чисел
Перевод чисел из одной системы счисления в другую происходит по определенным правилам (для целых и дробных чисел правила различны).
|
|
Если между основаниями двух систем счисления m и p соблюдается связь m1= pk, где k – целое число, то перевод является наиболее простым и осуществляется по правилу 1.
Правило 1. Каждая цифра числа с основанием m представляется k цифрами системы счисления с основанием p и наоборот.
По этому правилу осуществляется перевод между 16-ичной и 2-ичной системами: 161=24 и между 8-ичной и 2-ичной системами: 81=23. В первом случае одна шестнадцатеричная цифра заменяется четырьмя двоичными цифрами (тетрадой). Во втором случае одна восьмеричная цифра заменяется тремя двоичными цифрами (триадой). И наоборот. Замена начинается с младших разрядов. Если цифр до триады или тетрады не хватает, необходимо дополнить число слева нулями. В таблице 3.1 приведены двоичные коды всех 16-ричных цифр.
Таблица 3.1.
Таблица двоичных кодов десятичных и шестнадцатеричных цифр.
Цифра | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | А | В | С | D | E | F |
Код | 0000 | 0001 | 0010 | 0011 | 0100 | 0101 | 0110 | 0111 | 1000 | 1001 | 1010 | 1011 | 1100 | 1101 | 1110 | 1111 |
Пример 3.1. В коде ASCII строчное латинское «а» есть 011000012, а в 16-ричной системе счисления – 6116. Как видим, каждый байт может быть представлен двумя 16-ричными цифрами.
Правило 2. Перевод чисел из 8-ичной системы в 16-ичную систему и наоборот осуществляется через 2-ичную систему счисления.
|
|
Правило 3. Перевод чисел из любой системы счисления в десятичную осуществляется представлением этого числа либо в виде полинома (3.2), либо в виде схемы Горнера (3.3) и выполнением арифметических действий в десятичной системе счисления.
Эти три правила часто называют правилами замещения.
Пример 3.2. 9Е316 = 9´162 + 14´161 + 3´160 = 253110
9Е316 = (9´16 + 14)´16 + 3 = 253110
Рассмотрим теперь правило перевода целого неотрицательного десятичного числа в систему счисления с другим основанием.
Целое число в системе счисления с основанием m может быть представлено эквивалентным числом в системе счисления с основанием p по следующей формуле:
Таким образом, для перевода необходимо отыскать значения цифр bk (k=1,…,n) в новой системе счисления p.
Разделив обе части равенства (3.4) на основание новой системы счисления p, выраженное цифрами соответствующей системы счисления, получим:
Слагаемое в скобках – это частное от деления (Qm)1. Второе слагаемое – это остаток. Т. е.
Число b1 и есть младшая цифра числа в новой системе счисления с основанием p.
При следующем делении целого частного (Qm)1 будет получено новое целое частное (Qm)2 и новый остаток b2.
Деление необходимо продолжать до тех пор, пока частное не станет меньше основания p. Отсюда правило 4 для десятичных чисел (m=10), которое называют правилом деления.
Правило 4. Для перевода целого десятичного числа в систему счисления с основанием p надо переводимое число последовательно делить на основание p-й системы счисления до тех пор, пока не будет получено частное, меньшее основания p. Число в новой системе счисления запишется в виде остатков от деления, начиная с последнего частного, представляющего собой старшую цифру числа.
Поскольку все операции выполняются в 10-ой системе счисления, то в этой системе и будут записаны найденные цифры. Их надо переписать в системе счисления p.
В ЭВМ преобразование десятичных чисел в двоичные проводится не так, а по правилу 3, используя схему Горнера и выполняя действия в двоичной системе.
17310 = (0001´1010 + 0111)´1010 + 0011 = 101011012
Представление дробных чисел
В общем случае любое неотрицательное число (смешанную дробь), представленное в позиционной системе счисления, вида:
можно записать в виде полинома:
Здесь k – количество разрядов в дробной части числа, l – количество разрядов в целой части числа. Старший разряд имеет обозначение al-1, а младший – a-k.
Минимальное значащее (не равное 0) число, которое можно записать в k разрядах дробной части:
Qmin=m-k
Имея в целой части числа l, а в дробной k разрядов, можно записать всего ml+k разных чисел.
Для правильных дробей также может быть использована форма записи в виде схемы Горнера:
Перевод дробных чисел
Правило 5. Перевод правильных и неправильных дробей из одной системы счисления в другую, если основания этих систем являются степенями двойки, осуществляется по тем же правилам, что и для целых чисел.
Крайние триады (тетрады) слева и справа дополняются нулями в случае, если не хватает цифр до полной триады (тетрады).
Правило 6. Перевод правильных и неправильных дробей из любой системы счисления в десятичную осуществляется также как и для целых чисел, представлением этого числа либо в виде полинома (3.5), либо в виде схем Горнера (3.3, 3.6) и выполнением арифметических действий в десятичной системе счисления.
Рассмотрим теперь перевод правильной десятичной дроби в систему счисления с другим основанием. Поступим аналогично целым числам. Пусть исходная система счисления имеет основание m, новая система счисления – основание p.
Для перевода числа из системы счисления с основанием m необходимо отыскать значения цифр bj (j=-1,…,-n) в новой системе с основанием p.
Умножив обе части равенства (4.7) на основание новой системы счисления p, выраженное числами соответствующей системы счисления, получим:
Первое слагаемое – это целая часть произведения, первая цифра в дробной части новой системы счисления. Второе слагаемое – это дробная часть произведения.
При следующем умножении дробной части этого произведения на p получим следующую часть произведения и следующую цифру. Умножение следует продолжать, пока либо дробная часть станет равной 0, либо получим заданную точность дроби. Отсюда правило 7, которое называют правилом умножения.
Правило 7. Для перевода правильных дробей в систему счисления с основанием p, последовательно умножают исходную дробь и дробные части получающихся произведений на основание системы счисления p. Полученные в результате умножения целые числа произведения являются соответствующими разрядами дробного числа в системе счисления с основанием p.
В частном случае, если знаменатель правильной дроби представляет некоторую степень цифры 2, т.е.
то числитель переводится в двоичную систему счисления как целое число, которое записывается в k разрядах после запятой.
Правило 8. Перевод неправильных дробей в систему счисления с основанием p выполняется отдельно для целой и дробной частей числа по вышеизложенным правилам с последующим соединением этих частей в одну запись – неправильную дробь, представленную уже в новой системе счисления.
Пример 3. 3.
101110,1012 =1*25+0*24+1*23+1*22+1*21+0*20+1*2-1+0*2-2+1*2-3=46,62510
Арифметические действия над числами
Для выполнения арифметических операций над числами, представленными в любой системе счисления надо пользоваться известными правилами арифметики:
Сложение многоразрядных чисел начинается с младшего разряда, производится поразрядно с учетом единиц переноса из предыдущих разрядов.
Вычитание двух многоразрядных чисел начинается с младших разрядов с учетом при необходимости переноса единиц (количество которых соответствует основанию системы счисления) из старших разрядов.
Умножение и деление двух многоразрядных чисел в любой системе счисления выполняется по правилам десятичной системы счисления.
При двоичном умножении частичное произведение равно 0, если множитель равен 0, и равно множимому, если множитель равен 1. Таким образом, в процессорах операция двоичного умножения выполняется путем сдвига влево и сложения множимого. Аналогично операция двоичного деления выполняется путем сдвига вправо делителя и вычитания его из делимого.
Существует еще одна арифметическая операция, часто выполняемая над двоичными числами – сложение по модулю 2. Эта операция выполняется поразрядно и определяется следующим образом:
Здесь полная аналогия с операцией «остаток от деления на 2» A mod 2, которая означает, что число A делится на 2 и заменяется остатком (например, 9 mod 2 = 1). Так и в случае сложения по модулю 2 сумма разрядов делится на 2 и заменяется остатком (например, 2 mod 2 = 0).
Дата добавления: 2019-11-25; просмотров: 230; Мы поможем в написании вашей работы! |
Мы поможем в написании ваших работ!