Лекция: Арифметические операции со знаковыми числами в ЭВМ (орг. ЭВМ)
Знак числа обычно кодируется двоичной цифрой: знак "+" кодируется 0, знак "-" кодируется 1. Чтобы арифметические операции над знаковыми числами в ЭВМ можно было бы производить точно также, как и с беззнаковыми переменными, отрицательные числа представляются в дополнительном коде.
Чтобы получить дополнительный код отрицательного числа:
1) надо взять его положительную форму (взять прямой код положительного числа);
2) обратить каждый бит (иначе говоря, заменить в представлении числа 0 на 1 и 1 на 0);
3) добавить к полученному числу 1 младшего разряда.
Достоинства такого кода заключается в том, что нуль однозначно представляется кодом 0,0000....0 и, кроме того, операцию вычитания можно заменить операцией сложения.
Выполнение арифметических операций в компьютере
Правила выполнения арифметических операций для позиционных систем счисления задаются таблицами сложения, вычитания и умножения одноразрядных чисел.
Таблицы для двоичной арифметики будут следующими:
Сложение
0+0=0, 0+1=1, 1+0=1, 1+1=0+единица переноса, 1+1+единица переноса=1+единица переноса;
Вычитание
0-0=0, 1-0=1, 0-1=1+единица заема;
Умножение
0*0=0, 1*0=0, 0*1=0, 1*1=1.
Сложение многоразрядных целых двоичных чисел производится по описанным выше правилам и с учетом переноса единицы из предыдущего разряда. Если из старшего разряда представления многоразрядного целого числа получается единица переноса, такая ситуация называется переполнением разрядной сетки.
При этом программист должен руководствоваться следующими правилами:
определяется наличие переносов из двух старших разрядов числа
— если переносов нет, то результат операции правильный;
— если есть переносы из обеих разрядов, то результат операции тоже правильный;
— если из одного разряда есть перенос, а из другого нет, то результат операции неверный, фиксируется ситуация переполнения.
При использовании дополнительного кода единица переноса из знакового разряда игнорируется.
Умножение многоразрядных двоичных чисел производится путем образования частичных произведений и последующего их суммирования. Частичные произведения получаются после сдвигов умножителя. Единственной особенностью является то, что если сомножитель является отрицательным (знаковые разряды равны 11), то перед началом умножения следует приписать к нему слева столько единиц, сколько значащих разрядов у другого сомножителя справа от запятой. Результат произведения всегда получается в дополнительном коде.
Операция деления представляется последовательностью операций вычитания и сдвига делителя.
Указать, какой из вариантов более соответствует понятию ODBC Driver (БД)
Б) Программа, обеспечивающая взаимодействие приложения с базой данных определенного типа в рамках технологии ODBC (т.е. для каждого типа базы данных, например, Oracle, Access, SQL Server нужен свой драйвер).