Чт. Апр 18th, 2024

Будем исходить из того, что для записи числа в устройствах компьютера выделяется фиксированное количество двоичных разрядов. Память компьютера имеет байтовую структуру, но, размер одной адресуемой ячейки обычно составляет несколько б. К примеру, в компьютерах IBM ячейка памяти соединяет во единожды 2 б (16 двоичных разрядов) — такая композиция связанных примыкающих ячеек, обрабатываемая вместе, именуется машинным словом. Для представления числа в регистре арифметико-логического устройства микропроцессора, где формируется итог операции, имеется очередной дополнительный одноразрядный регистр, который именуется регистром переноса и который можно рассматривать в качестве продолжения (т.е. 17-го бита) регистра результата. Предназначение этого бита выяснится чуток позднее.

Конечный размер разрядной сетки порождает понятие «наибольшее целое число», которого в обыкновенном (немашинном) представлении чисел просто не существует. Если количество разрядов k и p = 2, то, согласно (4.8), (Z2)max = 2k — 1. А именно, при k = 16 (Z2)max = 216 — 1 = 1111111111111112 = 6553510. Другими словами, целого числа, скажем, 65636 и поболее в компьютере просто не может существовать и, как следует, возникновение в процессе вычислений чисел, превосходящих (Z2)max, должно интерпретироваться как ошибка. Наименьшим целым числом в беззнаковом представлении, разумеется, является (Z2)min = 0000000000000002 = 010. В языке программирования PASCAL целые числа без знака, для записи которых отводится 2 б, определены как тип Word. Тип устанавливает метод кодировки числа, количество отводимых для записи ячеек памяти (т.е. разрядность числа), также список допустимых операций при обработке. Выход за границу 65535 вероятен только методом роста количества разрядов для записи числа, но это порождает новый тип со своим Zmax; к примеру, тип Longint* с наибольшим значением 214748364710, числа которого занимают 4 б.

*Longint является типом целого числа со знаком.

Разглядим, как с беззнаковыми числами производятся арифметические операции, не меняющие типа числа; разумеется, к ним относятся сложение и умножение. Сложение делается согласно таблице сложения, которая для двоичных чисел имеет вид:

В последнем случае в том разряде, где находились слагаемые, оказывается 0, а 1 переносится в старший разряд. Место, где сохраняется переносимая в старший разряд 1 до того, как она будет применена в операции, именуется битом переноса (см. пример 9.1).

От content

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *