Чт. Ноя 21st, 2024

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

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

Поясним это подробнее. В компьютере числа записываются при помощи 0 и 1, поэтому в ячейку из k разрядов мы можем записать некий набор нулей и единиц, который и будет рассматриваться как двоичное число. Минимальное число, которое можно записать в k разрядах, будет состоять из k нулей, т.е. это число 0. Максимальное будет состоять из k единиц. Это число (k единиц в двоичной системе счисления) в десятичной системе счисления равно 2k — 1.

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

Приведем значения верхних границ диапазонов для различных беззнаковых типов, указывая число разрядов и названия соответствующих типов, реализованных в языке программирования Turbo-Pascal:

Количество бит Максимальное значение Название в Turbo-Pascal
8
255 (28 — 1) byte
16 65535 (216 — 1) word
32 4294967295 (232 — 1) тип отсутствует

Заметим, что в языке программирования Object Pascal (среда Delphi 2.0 и выше) введен 4-байтный беззнаковый тип данных Cardinal с максимальным значением 2147483647 (значения такого типа занимают 31 разряд из 32-х возможных), в языке С 32-разрядный знаковый тип обычно присутствует и обозначается как unsigned long, хотя размер того или иного типа может отличаться в различных компиляторах языка С.

От content