Пн. Фев 5th, 2024

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

Представление числа в привычной форме «знак» — «величина», при котором старший разряд ячейки отводится под знак, а остальные разряды ячейки под запись числа, называется прямым кодом.

При наличии одинакового числа разрядов в знаковых и беззнаковых типах максимальное значение допустимого диапазона для знаковых типов будет практически в два раза меньше, чем для беззнаковых, так как один бит у первых отводится под знак числа. Например, максимальное значение для 8-разрядных знаковых типов равно 127 (27 — 1), для 16-разрядных — 32767 (215 — 1) и т.д. В остальном же правила представления целых положительных чисел остаются такими же, как и для беззнаковых типов.

Сформулируем алгоритм представления в компьютере целых положительных чисел:

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

Пример. Число 53 = 1101012 в 8-разрядном представлении имеет следующий вид:

0 0 1 1 0 1 0 1

Это же число в 16-разрядном представлении имеет следующий вид:

0 0 0 0 0 0 0 0 0 0 1 1 0 1 0 1

В обоих случаях неважно, в знаковом или беззнаковом типе записано число.

Для числа 200 = 110010002 представление в 8-разрядном знаковом типе невозможно (так как максимальное допустимое число в таком типе равно 127), а в беззнаковом однобайтовом представлении оно имеет следующий вид:

1 1 0 0 1 0 0 0

Следует отметить, что разрядность процессора (число бит памяти, доступной для одновременной обработки процессором) на современных персональных компьютерах, не говоря уже о рабочих станциях и суперЭВМ, больше или равна четырем байтам. Поэтому поддержка компиляторами целых типов меньшего размера является данью прошлому: когда и разрядность процессора была меньше, и в результате использования одно-или двухбайтных типов удавалось экономить оперативную память при выполнении программы. В настоящее время использование четырехбайтных типов сделает программу, написанную для 32-разрядной операционной системы, более эффективной. Поэтому в языке Object Pascal наиболее употребимый целый тип Integer уже определен как четырехбайтный знаковый тип. Во многих компиляторах с языка С тип int также реализован как четырехбайтный.

От content

Ads Blocker Image Powered by Code Help Pro

Обнаружен блокировщик рекламы! Пожалуйста, обратите внимание на эту информацию.

We\'ve detected that you are using AdBlock or some other adblocking software which is preventing the page from fully loading.

У нас нет баннеров, флэшей, анимации, отвратительных звуков или всплывающих объявлений. Мы не реализовываем эти типы надоедливых объявлений! Нам нужны деньги для обслуживания сайта, и почти все они приходят от нашей интернет-рекламы.

Пожалуйста, добавьте tehnar.info к вашему белому списку блокирования объявлений или отключите программное обеспечение, блокирующее рекламу.

Powered By
Best Wordpress Adblock Detecting Plugin | CHP Adblock