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.
Экземпляры
| Bounded Word | Since: base-2.1 |
| Enum Word | Since: base-2.1 |
| Eq Word | |
| Integral Word | Since: base-2.1 |
| Data Word | Since: base-4.0.0.0 |
Определено в Data.Data Методыgfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> Word -> c Word Источник gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c Word Источник toConstr :: Word -> Constr Источник dataTypeOf :: Word -> DataType Источник dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c Word) Источник dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c Word) Источник gmapT :: (forall b. Data b => b -> b) -> Word -> Word Источник gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Word -> r Источник gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Word -> r Источник gmapQ :: (forall d. Data d => d -> u) -> Word -> [u] Источник gmapQi :: Int -> (forall d. Data d => d -> u) -> Word -> u Источник gmapM :: Monad m => (forall d. Data d => d -> m d) -> Word -> m Word Источник gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> Word -> m Word Источник gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> Word -> m Word Источник | |
| Num Word | С момента: base-2.1 |
| Ord Word | |
| PrintfArg Word | С версии: base-2.1 |
Определено в Text.Printf Краткое описание методов | |
| Generic1 (URec Word :: k -> Type) | С версии: base-4.9.0.0 |
Определено в GHC.Generics Связанные типыtype Rep1 (URec Word) :: k -> Type Исходный код | |
| Foldable (UWord :: Type -> Type) | С версии: base-4.9.0.0 |
Определено в Data.Foldable Краткое описание методовfold :: Monoid m => UWord m -> m Исходный код foldMap :: Monoid m => (a -> m) -> UWord a -> m Исходный код foldMap' :: Monoid m => (a -> m) -> UWord a -> m Исходный код foldr :: (a -> b -> b) -> b -> UWord a -> b Исходный код foldr' :: (a -> b -> b) -> b -> UWord a -> b Исходный код foldl :: (b -> a -> b) -> b -> UWord a -> b Исходный код foldl' :: (b -> a -> b) -> b -> UWord a -> b Исходный код foldr1 :: (a -> a -> a) -> UWord a -> a Исходный код foldl1 :: (a -> a -> a) -> UWord a -> a Исходный код toList :: UWord a -> [a] Исходный код null :: UWord a -> Bool Исходный код length :: UWord a -> Int Исходный код elem :: Eq a => a -> UWord a -> Bool Исходный код maximum :: Ord a => UWord a -> a Исходный код minimum :: Ord a => UWord a -> a Исходный код sum :: Num a => UWord a -> a Исходный код product :: Num a => UWord a -> a Исходный код | |
| Traversable (UWord :: Type -> Type) | С версии: base-4.9.0.0 |
Определено в Data.Traversable Краткое описание методовtraverse :: Applicative f => (a -> f b) -> UWord a -> f (UWord b) Исходный код sequenceA :: Applicative f => UWord (f a) -> f (UWord a) Исходный код mapM :: Monad m => (a -> m b) -> UWord a -> m (UWord b) Исходный код sequence :: Monad m => UWord (m a) -> m (UWord a) Исходный код | |
| Functor (URec Word :: Type -> Type) | Since: base-4.9.0.0 |
| Eq (URec Word p) | Since: base-4.9.0.0 |
| Ord (URec Word p) | Since: base-4.9.0.0 |
Defined in GHC.Generics Методыcompare :: URec Word p -> URec Word p -> Ordering Source (<) :: URec Word p -> URec Word p -> Bool Source (<=) :: URec Word p -> URec Word p -> Bool Source (>) :: URec Word p -> URec Word p -> Bool Source (>=) :: URec Word p -> URec Word p -> Bool Source | |
| Show (URec Word p) | Since: base-4.9.0.0 |
| Generic (URec Word p) | Since: base-4.9.0.0 |
| data URec Word (p :: k) |
Используется для маркировки случаев Since: base-4.9.0.0 |
| type Rep1 (URec Слово :: k -> Тип) | |
Определено в GHC.Generics | |
| type Rep (URec Слово p) | |
Определено в GHC.Generics | |
8-битовое беззнаковое целое число
Примеры реализации
| Ограниченный Word8 | С тех пор как: base-2.1 |
| Перечислимый Word8 | С тех пор как: base-2.1 |
Определено в GHC.Word Методыsucc :: Word8 -> Word8 Источник pred :: Word8 -> Word8 Источник toEnum :: Int -> Word8 Источник fromEnum :: Word8 -> Int Источник enumFrom :: Word8 -> [Word8] Источник enumFromThen :: Word8 -> Word8 -> [Word8] Источник enumFromTo :: Word8 -> Word8 -> [Word8] Источник enumFromThenTo :: Word8 -> Word8 -> Word8 -> [Word8] Источник | |
| Равенство Word8 | С тех пор как: base-2.1 |
| Целочисленный Word8 | С тех пор как: base-2.1 |
| Данные Word8 | С тех пор как: base-4.0.0.0 |
Определено в Data.Data Методыgfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> Word8 -> c Word8 Исходный код gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c Word8 Исходный код toConstr :: Word8 -> Constr Исходный код dataTypeOf :: Word8 -> DataType Исходный код dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c Word8) Исходный код dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c Word8) Исходный код gmapT :: (forall b. Data b => b -> b) -> Word8 -> Word8 Исходный код gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Word8 -> r Исходный код gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Word8 -> r Исходный код gmapQ :: (forall d. Data d => d -> u) -> Word8 -> [u] Исходный код gmapQi :: Int -> (forall d. Data d => d -> u) -> Word8 -> u Исходный код gmapM :: Monad m => (forall d. Data d => d -> m d) -> Word8 -> m Word8 Исходный код gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> Word8 -> m Word8 Исходный код gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> Word8 -> m Word8 Исходный код | |
| Num Word8 | С момента: base-2.1 |
Определено в GHC.Word Методы(+) :: Word8 -> Word8 -> Word8 Исходный код (-) :: Word8 -> Word8 -> Word8 Исходный код (*) :: Word8 -> Word8 -> Word8 Исходный код negate :: Word8 -> Word8 Исходный код abs :: Word8 -> Word8 Исходный код signum :: Word8 -> Word8 Исходный код fromInteger :: Integer -> Word8 Исходный код | |
| Ord Word8 | С момента: base-2.1 |
| PrintfArg Word8 | Since: base-2.1 |
Определено в Text.Printf Методы | |
data Word16 Исходный код
16-битный беззнаковый целочисленный тип
Экземпляры
| Bounded Word16 | Since: base-2.1 |
Определено в GHC.Word | |
| Enum Word16 | Since: base-2.1 |
Определено в GHC.Word Методыsucc :: Word16 -> Word16 Исходный код pred :: Word16 -> Word16 Исходный код toEnum :: Int -> Word16 Исходный код fromEnum :: Word16 -> Int Исходный код enumFrom :: Word16 -> [Word16] Исходный код enumFromThen :: Word16 -> Word16 -> [Word16] Исходный код enumFromTo :: Word16 -> Word16 -> [Word16] Исходный код enumFromThenTo :: Word16 -> Word16 -> Word16 -> [Word16] Исходный код | |
| Eq Word16 | Since: base-2.1 |
| Integral Word16 | Since: base-2.1 |
Определено в GHC.Word Методыquot :: Word16 -> Word16 -> Word16 Исходный код rem :: Word16 -> Word16 -> Word16 Исходный код div :: Word16 -> Word16 -> Word16 Исходный код mod :: Word16 -> Word16 -> Word16 Исходный код quotRem :: Word16 -> Word16 -> (Word16, Word16) Исходный код divMod :: Word16 -> Word16 -> (Word16, Word16) Исходный код toInteger :: Word16 -> Integer Исходный код | |
| Data Word16 | Since: base-4.0.0.0 |
Определено в Data.Data Методыgfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> Word16 -> c Word16 Источник gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c Word16 Источник toConstr :: Word16 -> Constr Источник dataTypeOf :: Word16 -> DataType Источник dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c Word16) Источник dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c Word16) Источник gmapT :: (forall b. Data b => b -> b) -> Word16 -> Word16 Источник gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Word16 -> r Источник gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Word16 -> r Источник gmapQ :: (forall d. Data d => d -> u) -> Word16 -> [u] Источник gmapQi :: Int -> (forall d. Data d => d -> u) -> Word16 -> u Источник gmapM :: Monad m => (forall d. Data d => d -> m d) -> Word16 -> m Word16 Источник gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> Word16 -> m Word16 Источник gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> Word16 -> m Word16 Источник | |
| Num Word16 | С момента: base-2.1 |
Определено в GHC.Word | |
| Ord Word16 | С момента: base-2.1 |
Определено в GHC.Word Методы(.&.) :: Word16 -> Word16 -> Word16 Source (.|.) :: Word16 -> Word16 -> Word16 Source xor :: Word16 -> Word16 -> Word16 Source complement :: Word16 -> Word16 Source shift :: Word16 -> Int -> Word16 Source rotate :: Word16 -> Int -> Word16 Source setBit :: Word16 -> Int -> Word16 Source clearBit :: Word16 -> Int -> Word16 Source complementBit :: Word16 -> Int -> Word16 Source testBit :: Word16 -> Int -> Bool Source bitSizeMaybe :: Word16 -> Maybe Int Source bitSize :: Word16 -> Int Source isSigned :: Word16 -> Bool Source shiftL :: Word16 -> Int -> Word16 Source unsafeShiftL :: Word16 -> Int -> Word16 Source shiftR :: Word16 -> Int -> Word16 Source unsafeShiftR :: Word16 -> Int -> Word16 Source rotateL :: Word16 -> Int -> Word16 Source | |
| Storable Word16 | С версии: base-2.1 |
Определено в Foreign.Storable МетодыsizeOf :: Word16 -> Int Источник alignment :: Word16 -> Int Источник peekElemOff :: Ptr Word16 -> Int -> IO Word16 Источник pokeElemOff :: Ptr Word16 -> Int -> Word16 -> IO () Источник peekByteOff :: Ptr b -> Int -> IO Word16 Источник pokeByteOff :: Ptr b -> Int -> Word16 -> IO () Источник | |
| PrintfArg Word16 | С: base-2.1 |
Определено в Text.Printf Методы | |
32-битный беззнаковый целочисленный тип
Примеры реализации
Определено в Data.Data Методыgfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> Word32 -> c Word32 Исходный код gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c Word32 Исходный код toConstr :: Word32 -> Constr Исходный код dataTypeOf :: Word32 -> DataType Исходный код dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c Word32) Исходный код dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c Word32) Исходный код gmapT :: (forall b. Data b => b -> b) -> Word32 -> Word32 Исходный код gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Word32 -> r Исходный код gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Word32 -> r Исходный код gmapQ :: (forall d. Data d => d -> u) -> Word32 -> [u] Исходный код gmapQi :: Int -> (forall d. Data d => d -> u) -> Word32 -> u Исходный код gmapM :: Monad m => (forall d. Data d => d -> m d) -> Word32 -> m Word32 Исходный код gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> Word32 -> m Word32 Исходный код gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> Word32 -> m Word32 Исходный код | |
| Num Word32 | С момента: base-2.1 |
Определено в GHC.Word Методы(+) :: Word32 -> Word32 -> Word32 Исходный код (-) :: Word32 -> Word32 -> Word32 Исходный код (*) :: Word32 -> Word32 -> Word32 Исходный код negate :: Word32 -> Word32 Исходный код abs :: Word32 -> Word32 Исходный код signum :: Word32 -> Word32 Исходный код fromInteger :: Integer -> Word32 Исходный код | |
| Ord Word32 | С момента: base-2.1 |
| Read Word32 | С момента: base-2.1 |
| Действительное Word32 | С момента: base-2.1 |
Определено в GHC.Word МетодыtoRational :: Word32 -> Рациональное Источник | |
| Show Word32 | С момента: base-2.1 |
| Ix Word32 | С момента: base-2.1 |
Определено в GHC.Word Методыrange :: (Word32, Word32) -> [Word32] Источник index :: (Word32, Word32) -> Word32 -> Int Источник unsafeIndex :: (Word32, Word32) -> Word32 -> Int Источник inRange :: (Word32, Word32) -> Word32 -> Bool Источник rangeSize :: (Word32, Word32) -> Int Источник unsafeRangeSize :: (Word32, Word32) -> Int Источник | |
| FiniteBits Word32 | С момента: base-4.6.0.0 |
Определено в GHC.Word МетодыfiniteBitSize :: Word32 -> Int Источник countLeadingZeros :: Word32 -> Int Источник countTrailingZeros :: Word32 -> Int Источник | |
| Биты Word32 | С момента: base-2.1 |
Определено в Foreign.Storable МетодыsizeOf :: Word32 -> Int Источник alignment :: Word32 -> Int Источник peekElemOff :: Ptr Word32 -> Int -> IO Word32 Источник pokeElemOff :: Ptr Word32 -> Int -> Word32 -> IO () Источник peekByteOff :: Ptr b -> Int -> IO Word32 Источник pokeByteOff :: Ptr b -> Int -> Word32 -> IO () Источник | |
| PrintfArg Word32 | С момента: base-2.1 |
Определено в Text.Printf Методы | |
64-битный беззнаковый целочисленный тип
Примеры
| Ограниченный Word64 | С: base-2.1 |
Определено в GHC.Word | |
| Перечислимый Word64 | С: base-2.1 |
Определено в GHC.Word Методыsucc :: Word64 -> Word64 Исходный код pred :: Word64 -> Word64 Исходный код toEnum :: Int -> Word64 Исходный код fromEnum :: Word64 -> Int Исходный код enumFrom :: Word64 -> [Word64] Исходный код enumFromThen :: Word64 -> Word64 -> [Word64] Исходный код enumFromTo :: Word64 -> Word64 -> [Word64] Исходный код enumFromThenTo :: Word64 -> Word64 -> Word64 -> [Word64] Исходный код | |
| Равенство Word64 | С: base-2.1 |
| Целочисленный Word64 | С: base-2.1 |
Определено в GHC.Word Методыquot :: Word64 -> Word64 -> Word64 Исходный код rem :: Word64 -> Word64 -> Word64 Исходный код div :: Word64 -> Word64 -> Word64 Исходный код mod :: Word64 -> Word64 -> Word64 Исходный код quotRem :: Word64 -> Word64 -> (Word64, Word64) Исходный код divMod :: Word64 -> Word64 -> (Word64, Word64) Исходный код toInteger :: Word64 -> Integer Исходный код | |
| Данные Word64 | С: base-4.0.0.0 |
Определено в Data.Data Методыgfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> Word64 -> c Word64 Исходный код gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c Word64 Исходный код toConstr :: Word64 -> Constr Исходный код dataTypeOf :: Word64 -> DataType Исходный код dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c Word64) Исходный код dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c Word64) Исходный код gmapT :: (forall b. Data b => b -> b) -> Word64 -> Word64 Исходный код gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Word64 -> r Исходный код gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Word64 -> r Исходный код gmapQ :: (forall d. Data d => d -> u) -> Word64 -> [u] Исходный код gmapQi :: Int -> (forall d. Data d => d -> u) -> Word64 -> u Исходный код gmapM :: Monad m => (forall d. Data d => d -> m d) -> Word64 -> m Word64 Исходный код gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> Word64 -> m Word64 Исходный код gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> Word64 -> m Word64 Исходный код | |
| Num Word64 | С момента: base-2.1 |
Определено в GHC.Word Методы(+) :: Word64 -> Word64 -> Word64 Исходный код (-) :: Word64 -> Word64 -> Word64 Исходный код (*) :: Word64 -> Word64 -> Word64 Исходный код negate :: Word64 -> Word64 Исходный код abs :: Word64 -> Word64 Исходный код signum :: Word64 -> Word64 Исходный код fromInteger :: Integer -> Word64 Исходный код | |
| Ord Word64 | С момента: base-2.1 |
Определено в Foreign.Storable МетодыsizeOf :: Word64 -> Int Исходный код alignment :: Word64 -> Int Исходный код peekElemOff :: Ptr Word64 -> Int -> IO Word64 Исходный код pokeElemOff :: Ptr Word64 -> Int -> Word64 -> IO () Исходный код peekByteOff :: Ptr b -> Int -> IO Word64 Исходный код pokeByteOff :: Ptr b -> Int -> Word64 -> IO () Исходный код | |
| PrintfArg Word64 | С момента: base-2.1 |
Определено в Text.Printf Методы | |
Перестановка байтов
byteSwap16 :: Word16 -> Word16 Исходный код
Обратный порядок байтов в Word16.
С момента: base-4.7.0.0
byteSwap32 :: Word32 -> Word32 Исходный код
Обратный порядок байтов в Word32.
С момента: base-4.7.0.0
byteSwap64 :: Word64 -> Word64 Исходный код
Обратный порядок байтов в Word64.
С момента: base-4.7.0.0
Инвертирование битов
bitReverse8 :: Word8 -> Word8 Исходный код
Обратный порядок битов в Word8.
С момента: base-4.12.0.0
bitReverse16 :: Word16 -> Word16 Исходный код
Обратный порядок битов в Word16.
С момента: base-4.12.0.0
bitReverse32 :: Word32 -> Word32 Исходный код
Обратный порядок битов в Word32.
С момента: base-4.12.0.0
bitReverse64 :: Word64 -> Word64 Исходный код
Обратный порядок битов в Word64.
С момента: base-4.12.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/8.10.2/docs/html/libraries/base-4.14.1.0/Data-Word.html