Data.Word
| Copyright | (c) The University of Glasgow 2001 |
|---|---|
| License | BSD-style (see the file libraries/base/LICENSE) |
| Maintainer | libraries@haskell.org |
| Stability | experimental |
| Portability | portable |
| Safe Haskell | Safe |
| Language | Haskell2010 |
Описание
Беззнаковые целочисленные типы.
Беззнаковые целочисленные типы
A Word is an unsigned integral type, with the same size as Int.
Экземпляры
8-битный беззнаковый целочисленный тип
Экземпляры
16-битный беззнаковый целочисленный тип
Экземпляры
32-битный беззнаковый целочисленный тип
Экземпляры
64-битный беззнаковый целочисленный тип
Примеры использования
Перестановка байтов
byteSwap16 :: Word16 -> Word16 Исходный код
Меняет местами байты в Word16.
С версии: 4.7.0.0
byteSwap32 :: Word32 -> Word32 Исходный код
Меняет местами байты в Word32.
С версии: 4.7.0.0
byteSwap64 :: Word64 -> Word64 Исходный код
Меняет местами байты в Word64.
С версии: 4.7.0.0
Примечания
- Все арифметические операции выполняются по модулю 2^n, где n — количество бит в типе. Одним из неявных следствий этого является то, что
negateне должно генерировать ошибку при отрицательных аргументах. - Для приведения типов целых чисел друг к другу используйте
fromIntegral, который специализирован для всех общих случаев и, следовательно, должен быть достаточно быстрым. Приведение типов чисел типа word к целочисленным типам и обратно сохраняет представление, а не знак. - Тип безгранично большого целого без знака доступен с помощью
Natural. - Правила, справедливые для
Enumэкземпляров над ограниченным типом, таким какInt, (см. раздел отчёта Haskell, посвящённый арифметическим последовательностям) также справедливы дляEnumэкземпляров над различными типамиWord, определёнными здесь. - Сдвиги вправо и влево на значения, равные или большие ширины типа, приводят к нулевому результату. Это противоречит поведению в C, которое является неопределённым; распространённая интерпретация — это усечение значения сдвига до ширины типа, например
1 << 32 == 1в некоторых реализациях C.
© The University of Glasgow and others
Licensed under a BSD-style license (see top of the page).
https://downloads.haskell.org/~ghc/7.10.3/docs/html/libraries/base-4.8.2.0/Data-Word.html