Главная » Haskell » Модуль Word

0

В модуле Word определены типы для представления ограниченных беззнаковых целых чисел. В отличие от модуля Int, в этом модуле описываются целочисленные  типы без знака, занимающие  различное количество  байт в памяти, а потому использующиеся в различных целях. Использование:

import  Data.Word

Первый тип данных, который описан в этом модуле,  — Word — переопределяет примитивный тип.

Тип: Word

Описание: тип для представления беззнаковых целых чисел фиксированной точности. Все значения этого типа лежат в интервале [?229, 229 ? 1], в точности как

и значения типа Int. Точные значения нижней и верхней границы для конкретной реализации (в зависимости от транслятора языка) можно узнать при помощи методов minBound и maxBound класса Bounded (см. стр. 115).

Определение:

Тип определён в виде примитива.

Для данного типа определены экземпляры следующих классов: Bits, Bounded, Data, Enum,  Eq, Integral,  Ix,  Num,  Ord, Read, Real, Show,  Storable, Typeable, IArray, и MArray.

Тип: Word8

Описание: тип для представления беззнаковых целых чисел, занимающих в памяти 8 бит (интервал [0, 28 ? 1]).

Определение:

Тип определён в виде примитива.

Тип: Word16

Описание: тип для представления беззнаковых целых чисел, занимающих в памяти 16 бит (интервал [0, 216 ? 1]).

Определение:

Тип определён в виде примитива.

Тип: Word32

Описание: тип для представления беззнаковых целых чисел, занимающих в памяти 32 бита (интервал [0, 232 ? 1]).

Определение:

Тип определён в виде примитива.

Тип: Word64

Описание: тип для представления беззнаковых целых чисел, занимающих в памяти 64 бита (интервал [0, 264 ? 1]).

Определение:

Тип определён в виде примитива.

Для типов Word8, Word16, Word32 и Word64 определены экземпляры следующих классов: Bits, Bounded, Data, Enum, Eq, Integral, Ix, Num, Ord, Read, Real, Show, Storable, Typeable, IArray и MArray.

Необходимо  отметить, что  для перечисленных  типов все  арифметические операции выполняются по модулю 2n, где n —  количество  бит, используемых для представления числа. Преобразование из одного целочисленного типа в другой можно производить при помощи функции fromIntegral, которая для всех перечисленных типов работает достаточно быстро. Также правила класса Enum (см. стр. 115) для типа Int работают и с  определёнными  в этом модуле целочисленными типами. Наконец, правый и левый сдвиги (см. раздел 8.2.) на число битов, равное или большее количеству битов, используемому для представления типа, возвращает значение 0.

Источник: Душкин Р. В., Справочник по языку Haskell. М.: ДМК Пресс, 2008. 544 с., ил.

По теме:

  • Комментарии