Кодирование и обработка в компьютере целых чисел без знака

Будем исходить из того, что для записи числа в устройствах компьютера выделяется фиксированное количество двоичных разрядов. Память компьютера имеет байтовую структуру, но, размер одной адресуемой ячейки обычно составляет несколько б. К примеру, в компьютерах 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

Share
Published by
content

Recent Posts

Магнитное поле тока. Магнитные силовые линии

Разница между энергией электрического поля и энергией магнитного поля примерно такая же, как между энергией,…

1 год ago

Постоянные магниты

Когда-то легендарный пастух Магнес, нашел природный магнитный камень, притягивающий железо. В последствии этот камень назвали магнетит или магнитный…

1 год ago

Соединение конденсаторов

В электрических цепях применяются различные способы соединения конденсаторов. Соединение конденсаторов может производиться: последовательно, параллельно и последовательно-параллельно (последнее иногда называют смешанное соединение конденсаторов). Существующие…

1 год ago

Обозначение конденсаторов

Обозначение конденсаторов на схемах определено ЕСКД ГОСТ 2.728-74. Обозначения условные графические в схемах. Резисторы, конденсаторы. Итак,…

1 год ago

Виды конденсаторов

Узнав, что же такое конденсатор, рассмотрим, какие бывают виды конденсаторов. Итак, виды конденсаторов можно классифицировать по…

1 год ago

Энергия поля конденсатора

Вся энергия заряженного конденсатора сосредотачивается в электрическом поле между его пластинами. Энергию, накоп­ленную в конденсаторе, можно определить…

1 год ago