- •2. Основы представления информации
- •2.1. Системы счисления
- •2.2. Перевод чисел из одной системы счисления в другую
- •2.2.1. Перевод чисел в десятичную сс10
- •2.2.2. Перевод чисел из десятичной сс в другие
- •2.3. Алгоритмы выполнения арифметических операций в различных сс
- •2.4. Комбинированные системы счисления
- •2.5. Кодирование чисел в эвм
- •2.6. Арифметические операции над двоичными числами в обратном и дополнительном кодах
- •2.6.1. Сложение чисел
- •2.7. Формы представления чисел и размещение их в памяти эвм
2.3. Алгоритмы выполнения арифметических операций в различных сс
Алгоритмы выполнения операций сложения, вычитания, умножения и деления в двоичной, восьмеричной и шестнадцатиричной СС те же, что и в десятичной СС. Для выполнения арифметических операций "вручную" необходимо помнить таблицы сложения и умножения в двоичной, восьмеричной и шестнадцатиричной СС.
В случае двоичной СС эти таблицы имеют вид:
0+0=0 00=0
0+1=1 01=0
1+0=1 10=0
1+1=10 11=1
Следует иметь в виду, что при выполнении операции вычитания занимаемая единица старшего разряда в данном соседнем младшем разряде превращается в 2, 8 или 16 соответственно в случае двоичной, восьмеричной или шестнадцатиричной СС.
Пример 6. Даны два числа в десятичной СС: Необходимо выполнить сложение и вычитание чисел в двоичной СС, проверить правильность выполнения арифметических операция.
Выполнив перевод чисел в двоичную СС по описанным выше правилам, получим: Теперь выполним операции сложения и вычитания в двоичной СС:
11011,01 11011,01
+ -
1101,1 1101,1
101000,11 1101,11
Таким образом,
Проверим правильность решений, выполнив перевод суммы и разности в десятичную СС:
= 125+024+123+022+021+020+12-1+12-2=32+0+8+0+0+0+1/2+1/4=40,75;
=123+122+021+120+12-1+12-2=8+4+0+1+1/2+1/4=13,75.
Решение выполнено верно.
Двоичная СС имеет следующие достоинства:
простота аппаратурной реализации в ЭВМ с помощью элементов, имеющих два устойчивых состояния;
простота алгоритмов выполнения арифметических операций.
Однако ей присущи недостатки:
большая длина чисел с однообразными знаками 0, 1;
неточность перевода дробной части десятичного кода числа в двоичный код числа.
Последний недостаток весьма существенный, т.к. он является источником ошибок вычислений на ЭВМ.
2.4. Комбинированные системы счисления
В вычислительной технике находят применение так называемые комбинированные СС: двоично-шестнадцатиричная, двоично-восьмеричная, двоично-десятичная. Алфавитом этих систем счисления является 0 и 1. Числа в этих системах образуются так: каждая цифра восьмеричного кода числа записывается двоичной триадой, т.е. тремя двоичными знаками, целая часть числа отделяется от дробной запятой. Недостающие разряды в последних триадах дробной части числа заполняются нулями, а в целой части числа отбрасываются. Так, например, если число в восьмеричной СС N8=264,14, то в двоично-восьмеричной оно запишется следующим образом:
N2-8= 010 110 100,001 100
2 6 4 1 4
Отбрасывая теперь не значащие нули в начале числа, и нули в конце числа, получим:
N2-8= 10110100,0011.
При образовании чисел в двоично-десятичной и двоично-шестнадцатиричной СС каждая цифра исходного числа заменяется двоичной тетрадой, т.е. четырьмя двоичными знаками. Целая часть от дробной отделяется запятой. Примеры записи чисел в двоично-десятичной и двоично-шестнадцатиричной СС:
N10=187,31; N2-10= 1 1000 0111 , 0011 0001 ;
1 8 7 , 3 1
N16=2B7,A5; N2-16= 10 1011 0111 , 1010 0101 ;
2 B 7 , A 5
Комбинированные СС имеют ряд важных особенностей, что является основанием их применения в ЭВМ, а именно:
простота алгоритма перевода чисел из двоичной системы счисления в двоично-десятичную и наоборот;
число, записанное в двоично-восьмеричной или двоично-шестнадцатиричной СС, совпадает с его двоичным кодом, т.е. N2=N2-8=N2-16;
перевод дробного числа из десятичной СС в двоично-десятичную осуществляется без погрешности.
Недостатками этих систем являются:
числа более длинные, чем в двоичной СС;
алгоритмы выполнения арифметических операций в двоично-десятичной СС более сложные, чем в двоичной: выполнение арифметических операций внутри тетрады выполняется по правилам двоичной СС, а между тетрадами - по правилам десятичной СС.