Кластерный компьютер Приемы повышения производительности Двоичная арифметика Программирование на языке ассемблера

В непозиционных системах счисления каждое число обозначается соответствующей совокупностью символов. Характерным представителем непозиционных систем является римская система счисления со сложным способом записи чисел и громоздкими правилами выполнения арифметических операций

Двоичные числа

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

Числа конечной точности

Когда люди выполняют какие-либо арифметические действия, их не волнует вопрос, сколько десятичных разрядов занимает то или иное число. Физики, к примеру, могут вычислить, что во вселенной существует 1078 электронов, и их не волнует тот факт, что полная запись этого числа потребует 79 десятичных разрядов. Проблема нехватки бумаги для записи числа никогда не возникает.

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

Рассмотрим ряд положительных целых чисел, которые можно записать тремя десятичными разрядами без десятичной точки и без знака. В этот ряд входит ровно 1000 чисел: ООО, 001, 002, 003,.., 999. При таком ограничении невозможно выразить определенные типы чисел. Сюда входят:

числа больше 999;

отрицательные числа;

дроби;

иррациональные числа;

комплексные числа.

Одно из свойств набора всех целых чисел — замкнутость по отношению к операциям сложения, вычитания и умножения. Другими словами, для каждой пары целых чисел I и ] числа г + у, \ - ] и г х] — тоже целые числа. Ряд целых чисел не замкнут относительно деления, поскольку существуют такие значения г идля которых г/] не выражается в виде целого числа (например, 7/2 или 1/0).

Числа конечной точности не замкнуты относительно всех четырех операций. Вот примеры операций над трехразрядными десятичными числами:

Слишком большое число:

600 + 600 = 1200.

Отрицательное число:

003 - 005 = -2.

Слишком большое число:

050 х 050 - 2500.

Не целое число:

007 / 002 = 3,5.

Позиционные системы счисления обладают большими преимуществами в наглядности представления чисел и в простоте выполнения арифметических операций. В позиционной системе счисления значение числа определяется не только набором входящих в него цифр, но и их местом (позицией) в последовательности цифр, изображающих это число, например, числа 127 и 721.
Кластерные вычисления Процессор 8088 Программирование на языке ассемблера