Data.Word
| Авторские права | (c) Университет Глазго 2001 |
|---|---|
| Лицензия | BSD-стиль (см. файл libraries/base/LICENSE) |
| Поддерживающий | libraries@haskell.org |
| Стабильность | стабильная |
| Переносимость | переносимая |
| Safe Haskell | Безопасный |
| Язык | Haskell2010 |
Описание
Целые типы без знака.
Целые типы без знака
A Word представляет собой целый тип без знака, с тем же размером, что и Int.
Примеры реализации
| PrintfArg Word Source | Since: base-2.1 |
Defined in Text.Printf | |
| Bits Word Source | Since: base-2.1 |
Defined in GHC.Internal.Bits Методы(.&.) :: Word -> Word -> Word Source (.|.) :: Word -> Word -> Word Source xor :: Word -> Word -> Word Source complement :: Word -> Word Source shift :: Word -> Int -> Word Source rotate :: Word -> Int -> Word Source setBit :: Word -> Int -> Word Source clearBit :: Word -> Int -> Word Source complementBit :: Word -> Int -> Word Source testBit :: Word -> Int -> Bool Source bitSizeMaybe :: Word -> Maybe Int Source isSigned :: Word -> Bool Source shiftL :: Word -> Int -> Word Source unsafeShiftL :: Word -> Int -> Word Source shiftR :: Word -> Int -> Word Source unsafeShiftR :: Word -> Int -> Word Source rotateL :: Word -> Int -> Word Source | |
| FiniteBits Word Source | Since: base-4.6.0.0 |
Defined in GHC.Internal.Bits МетодыfiniteBitSize :: Word -> Int Source countLeadingZeros :: Word -> Int Source countTrailingZeros :: Word -> Int Source | |
| Data Word Source | Since: base-4.0.0.0 |
Defined in GHC.Internal.Data.Data Методыgfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> Word -> c Word Source gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c Word Source toConstr :: Word -> Constr Source dataTypeOf :: Word -> DataType Source dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c Word) Source dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c Word) Source gmapT :: (forall b. Data b => b -> b) -> Word -> Word Source gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Word -> r Source gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Word -> r Source gmapQ :: (forall d. Data d => d -> u) -> Word -> [u] Source gmapQi :: Int -> (forall d. Data d => d -> u) -> Word -> u Source gmapM :: Monad m => (forall d. Data d => d -> m d) -> Word -> m Word Source gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> Word -> m Word Source gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> Word -> m Word Source | |
| Bounded Word Source | Since: base-2.1 |
| Enum Word Source | Since: base-2.1 |
| Storable Word Source | Since: base-2.1 |
Определено в GHC.Internal.Foreign.Storable | |
| Ix Word Source | Since: base-4.6.0.0 |
Определено в GHC.Internal.Ix | |
| Num Word Source | Since: base-2.1 |
| Read Word Source | Since: base-4.5.0.0 |
Определено в GHC.Internal.Read МетодыreadsPrec :: Int -> ReadS Word Исходный код readList :: ReadS [Word] Исходный код | |
| Integral Word Исходный код | С момента: base-2.1 |
Определено в GHC.Internal.Real Методыquot :: Word -> Word -> Word Исходный код rem :: Word -> Word -> Word Исходный код div :: Word -> Word -> Word Исходный код mod :: Word -> Word -> Word Исходный код quotRem :: Word -> Word -> (Word, Word) Исходный код divMod :: Word -> Word -> (Word, Word) Исходный код toInteger :: Word -> Integer Исходный код | |
| Real Word Исходный код | С момента: base-2.1 |
Определено в GHC.Internal.Real МетодыtoRational :: Word -> Rational Исходный код | |
| Show Word Исходный код | С момента: base-2.1 |
Определено в GHC.Internal.Show МетодыshowsPrec :: Int -> Word -> ShowS Исходный код show :: Word -> String Исходный код showList :: [Word] -> ShowS Исходный код | |
| Eq Word Исходный код | |
Определено в GHC.Classes | |
| Ord Word Исходный код | |
Определено в GHC.Classes | |||||
| Lift Word Source | |||||
| Generic1 (URec Word :: k -> Type) Source | |||||
Определено в GHC.Internal.Generics Связанные типы
| |||||
| Eq1 (UWord :: Type -> Type) Source | С версии: base-4.21.0.0 |
||||
| Ord1 (UWord :: Type -> Type) Source | С версии: base-4.21.0.0 |
||||
Определено в Data.Functor.Classes | |||||
| Show1 (UWord :: Type -> Type) Source | Since: base-4.21.0.0 |
| Foldable (UWord :: Type -> Type) Source | Since: base-4.9.0.0 |
Defined in GHC.Internal.Data.Foldable Methodsfold :: Monoid m => UWord m -> m Source foldMap :: Monoid m => (a -> m) -> UWord a -> m Source foldMap' :: Monoid m => (a -> m) -> UWord a -> m Source foldr :: (a -> b -> b) -> b -> UWord a -> b Source foldr' :: (a -> b -> b) -> b -> UWord a -> b Source foldl :: (b -> a -> b) -> b -> UWord a -> b Source foldl' :: (b -> a -> b) -> b -> UWord a -> b Source foldr1 :: (a -> a -> a) -> UWord a -> a Source foldl1 :: (a -> a -> a) -> UWord a -> a Source toList :: UWord a -> [a] Source null :: UWord a -> Bool Source length :: UWord a -> Int Source elem :: Eq a => a -> UWord a -> Bool Source maximum :: Ord a => UWord a -> a Source minimum :: Ord a => UWord a -> a Source | |
| Traversable (UWord :: Type -> Type) Source | Since: base-4.9.0.0 |
Defined in GHC.Internal.Data.Traversable | |
| Functor (URec Word :: Type -> Type) Источник | С момента: base-4.9.0.0 |
||||
| Generic (URec Word p) Источник | |||||
Определено в GHC.Internal.Generics Связанные типы
| |||||
| Show (URec Word p) Источник | С момента: base-4.9.0.0 |
||||
| Eq (URec Word p) Источник | С момента: base-4.9.0.0 |
||||
| Ord (URec Word p) Источник | С момента: base-4.9.0.0 |
||||
Определено в GHC.Internal.Generics Методыcompare :: URec Word p -> URec Word p -> Ordering Источник (<) :: URec Word p -> URec Word p -> Bool Источник (<=) :: URec Word p -> URec Word p -> Bool Источник (>) :: URec Word p -> URec Word p -> Bool Источник (>=) :: URec Word p -> URec Word p -> Bool Источник | |
| data URec Word (p :: k) Источник |
Используется для маркировки случаев С версии: base-4.9.0.0 |
| type Rep1 (URec Word :: k -> Type) Источник | С версии: base-4.9.0.0 |
Определено в GHC.Internal.Generics | |
| type Rep (URec Word p) Источник | С версии: base-4.9.0.0 |
Определено в GHC.Internal.Generics | |
8-битовое беззнаковое целое число
Экземпляры
| PrintfArg Word8 Источник | С версии: base-2.1 |
Определено в Text.Printf МетодыformatArg :: Word8 -> FieldFormatter Источник | |
| Bits Word8 Источник | С версии: base-2.1 |
Определено в GHC.Internal.Word Методы(.&.) :: Word8 -> Word8 -> Word8 Источник (.|.) :: Word8 -> Word8 -> Word8 Источник xor :: Word8 -> Word8 -> Word8 Источник complement :: Word8 -> Word8 Источник shift :: Word8 -> Int -> Word8 Источник rotate :: Word8 -> Int -> Word8 Источник setBit :: Word8 -> Int -> Word8 Источник clearBit :: Word8 -> Int -> Word8 Источник complementBit :: Word8 -> Int -> Word8 Источник testBit :: Word8 -> Int -> Bool Источник bitSizeMaybe :: Word8 -> Maybe Int Источник bitSize :: Word8 -> Int Источник isSigned :: Word8 -> Bool Источник shiftL :: Word8 -> Int -> Word8 Источник unsafeShiftL :: Word8 -> Int -> Word8 Источник shiftR :: Word8 -> Int -> Word8 Источник unsafeShiftR :: Word8 -> Int -> Word8 Источник rotateL :: Word8 -> Int -> Word8 Источник | |
| FiniteBits Word8 Источник | С версии: base-4.6.0.0 |
Defined in GHC.Internal.Word МетодыfiniteBitSize :: Word8 -> Int Source countLeadingZeros :: Word8 -> Int Source countTrailingZeros :: Word8 -> Int Source | |
| Data Word8 Source | Since: base-4.0.0.0 |
Defined in GHC.Internal.Data.Data Методыgfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> Word8 -> c Word8 Source gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c Word8 Source toConstr :: Word8 -> Constr Source dataTypeOf :: Word8 -> DataType Source dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c Word8) Source dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c Word8) Source gmapT :: (forall b. Data b => b -> b) -> Word8 -> Word8 Source gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Word8 -> r Source gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Word8 -> r Source gmapQ :: (forall d. Data d => d -> u) -> Word8 -> [u] Source gmapQi :: Int -> (forall d. Data d => d -> u) -> Word8 -> u Source gmapM :: Monad m => (forall d. Data d => d -> m d) -> Word8 -> m Word8 Source gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> Word8 -> m Word8 Source gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> Word8 -> m Word8 Source | |
| Bounded Word8 Source | Since: base-2.1 |
| Enum Word8 Source | Since: base-2.1 |
| Read Word8 Источник | С момента: base-2.1 |
| Целочисленный Word8 Источник | С момента: base-2.1 |
Определено в GHC.Internal.Word | |
| Вещественный Word8 Источник | С момента: base-2.1 |
Определено в GHC.Internal.Word МетодыtoRational :: Word8 -> Рациональное Источник | |
| Show Word8 Источник | С момента: base-2.1 |
| Eq Word8 Источник | С момента: base-2.1 |
Определено в GHC.Internal.Word | |
| Ord Word8 Исходный код | С момента: base-2.1 |
Определено в GHC.Internal.Word Методыcompare :: Word8 -> Word8 -> Ordering Исходный код < :: Word8 -> Word8 -> Bool Исходный код <= :: Word8 -> Word8 -> Bool Исходный код > :: Word8 -> Word8 -> Bool Исходный код >= :: Word8 -> Word8 -> Bool Исходный код max :: Word8 -> Word8 -> Word8 Исходный код min :: Word8 -> Word8 -> Word8 Исходный код | |
| Lift Word8 Исходный код | |
Определено в GHC.Internal.TH.Lift | |
data Word16 Исходный код
16-битный беззнаковый целочисленный тип
Экземпляры
| PrintfArg Word16 Источник | С версии: base-2.1 |
Определено в Text.Printf Методы | |
| Bits Word16 Источник | С версии: base-2.1 |
Определено в GHC.Internal.Word Методы(.&.) :: Word16 -> Word16 -> Word16 Источник (.|.) :: Word16 -> Word16 -> Word16 Источник xor :: Word16 -> Word16 -> Word16 Источник complement :: Word16 -> Word16 Источник shift :: Word16 -> Int -> Word16 Источник rotate :: Word16 -> Int -> Word16 Источник setBit :: Word16 -> Int -> Word16 Источник clearBit :: Word16 -> Int -> Word16 Источник complementBit :: Word16 -> Int -> Word16 Источник testBit :: Word16 -> Int -> Bool Источник bitSizeMaybe :: Word16 -> Maybe Int Источник bitSize :: Word16 -> Int Источник isSigned :: Word16 -> Bool Источник shiftL :: Word16 -> Int -> Word16 Источник unsafeShiftL :: Word16 -> Int -> Word16 Источник shiftR :: Word16 -> Int -> Word16 Источник unsafeShiftR :: Word16 -> Int -> Word16 Источник rotateL :: Word16 -> Int -> Word16 Источник | |
| FiniteBits Word16 Источник | С версии: base-4.6.0.0 |
Defined in GHC.Internal.Word МетодыfiniteBitSize :: Word16 -> Int Source countLeadingZeros :: Word16 -> Int Source countTrailingZeros :: Word16 -> Int Source | |
| Data Word16 Source | Since: base-4.0.0.0 |
Defined in GHC.Internal.Data.Data Методыgfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> Word16 -> c Word16 Source gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c Word16 Source toConstr :: Word16 -> Constr Source dataTypeOf :: Word16 -> DataType Source dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c Word16) Source dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c Word16) Source gmapT :: (forall b. Data b => b -> b) -> Word16 -> Word16 Source gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Word16 -> r Source gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Word16 -> r Source gmapQ :: (forall d. Data d => d -> u) -> Word16 -> [u] Source gmapQi :: Int -> (forall d. Data d => d -> u) -> Word16 -> u Source gmapM :: Monad m => (forall d. Data d => d -> m d) -> Word16 -> m Word16 Source gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> Word16 -> m Word16 Source gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> Word16 -> m Word16 Source | |
| Bounded Word16 Source | Since: base-2.1 |
| Enum Word16 Source | Since: base-2.1 |
Определено в GHC.Internal.Word | |
| Ord Word16 Исходный код | С момента: base-2.1 |
Определено в GHC.Internal.Word Методыcompare :: Word16 -> Word16 -> Ordering Исходный код < :: Word16 -> Word16 -> Bool Исходный код <= :: Word16 -> Word16 -> Bool Исходный код > :: Word16 -> Word16 -> Bool Исходный код >= :: Word16 -> Word16 -> Bool Исходный код max :: Word16 -> Word16 -> Word16 Исходный код min :: Word16 -> Word16 -> Word16 Исходный код | |
| Lift Word16 Исходный код | |
Определено в GHC.Internal.TH.Lift | |
data Word32 Исходный код
32-битный беззнаковый целочисленный тип
Экземпляры
| PrintfArg Word32 Источник | С версии: base-2.1 |
Определено в Text.Printf Методы | |
| Bits Word32 Источник | С версии: base-2.1 |
Определено в GHC.Internal.Word Методы(.&.) :: Word32 -> Word32 -> Word32 Источник (.|.) :: Word32 -> Word32 -> Word32 Источник xor :: Word32 -> Word32 -> Word32 Источник complement :: Word32 -> Word32 Источник shift :: Word32 -> Int -> Word32 Источник rotate :: Word32 -> Int -> Word32 Источник setBit :: Word32 -> Int -> Word32 Источник clearBit :: Word32 -> Int -> Word32 Источник complementBit :: Word32 -> Int -> Word32 Источник testBit :: Word32 -> Int -> Bool Источник bitSizeMaybe :: Word32 -> Maybe Int Источник bitSize :: Word32 -> Int Источник isSigned :: Word32 -> Bool Источник shiftL :: Word32 -> Int -> Word32 Источник unsafeShiftL :: Word32 -> Int -> Word32 Источник shiftR :: Word32 -> Int -> Word32 Источник unsafeShiftR :: Word32 -> Int -> Word32 Источник rotateL :: Word32 -> Int -> Word32 Источник | |
| FiniteBits Word32 Источник | С версии: base-4.6.0.0 |
Определено в GHC.Internal.Word Краткое описание методовfiniteBitSize :: Word32 -> Int Source countLeadingZeros :: Word32 -> Int Source countTrailingZeros :: Word32 -> Int Source | |
| Data Word32 Source | Since: base-4.0.0.0 |
Определено в GHC.Internal.Data.Data Краткое описание методовgfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> Word32 -> c Word32 Source gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c Word32 Source toConstr :: Word32 -> Constr Source dataTypeOf :: Word32 -> DataType Source dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c Word32) Source dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c Word32) Source gmapT :: (forall b. Data b => b -> b) -> Word32 -> Word32 Source gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Word32 -> r Source gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Word32 -> r Source gmapQ :: (forall d. Data d => d -> u) -> Word32 -> [u] Source gmapQi :: Int -> (forall d. Data d => d -> u) -> Word32 -> u Source gmapM :: Monad m => (forall d. Data d => d -> m d) -> Word32 -> m Word32 Source gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> Word32 -> m Word32 Source gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> Word32 -> m Word32 Source | |
| Bounded Word32 Source | Since: base-2.1 |
| Enum Word32 Source | Since: base-2.1 |
Определено в GHC.Internal.Word | |
| Ord Word32 Исходный код | С момента: base-2.1 |
Определено в GHC.Internal.Word Методыcompare :: Word32 -> Word32 -> Ordering Исходный код < :: Word32 -> Word32 -> Bool Исходный код <= :: Word32 -> Word32 -> Bool Исходный код > :: Word32 -> Word32 -> Bool Исходный код >= :: Word32 -> Word32 -> Bool Исходный код max :: Word32 -> Word32 -> Word32 Исходный код min :: Word32 -> Word32 -> Word32 Исходный код | |
| Lift Word32 Исходный код | |
Определено в GHC.Internal.TH.Lift | |
data Word64 Исходный код
64-битный беззнаковый целочисленный тип
Экземпляры
| PrintfArg Word64 Источник | С версии: base-2.1 |
Определено в Text.Printf Методы | |
| Bits Word64 Источник | С версии: base-2.1 |
Определено в GHC.Internal.Word Методы(.&.) :: Word64 -> Word64 -> Word64 Источник (.|.) :: Word64 -> Word64 -> Word64 Источник xor :: Word64 -> Word64 -> Word64 Источник complement :: Word64 -> Word64 Источник shift :: Word64 -> Int -> Word64 Источник rotate :: Word64 -> Int -> Word64 Источник setBit :: Word64 -> Int -> Word64 Источник clearBit :: Word64 -> Int -> Word64 Источник complementBit :: Word64 -> Int -> Word64 Источник testBit :: Word64 -> Int -> Bool Источник bitSizeMaybe :: Word64 -> Maybe Int Источник bitSize :: Word64 -> Int Источник isSigned :: Word64 -> Bool Источник shiftL :: Word64 -> Int -> Word64 Источник unsafeShiftL :: Word64 -> Int -> Word64 Источник shiftR :: Word64 -> Int -> Word64 Источник unsafeShiftR :: Word64 -> Int -> Word64 Источник rotateL :: Word64 -> Int -> Word64 Источник | |
| FiniteBits Word64 Источник | С версии: base-4.6.0.0 |
Определено в GHC.Internal.Word Краткое описание методовfiniteBitSize :: Word64 -> Int Source countLeadingZeros :: Word64 -> Int Source countTrailingZeros :: Word64 -> Int Source | |
| Data Word64 Source | Since: base-4.0.0.0 |
Определено в GHC.Internal.Data.Data Краткое описание методовgfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> Word64 -> c Word64 Source gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c Word64 Source toConstr :: Word64 -> Constr Source dataTypeOf :: Word64 -> DataType Source dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c Word64) Source dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c Word64) Source gmapT :: (forall b. Data b => b -> b) -> Word64 -> Word64 Source gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Word64 -> r Source gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Word64 -> r Source gmapQ :: (forall d. Data d => d -> u) -> Word64 -> [u] Source gmapQi :: Int -> (forall d. Data d => d -> u) -> Word64 -> u Source gmapM :: Monad m => (forall d. Data d => d -> m d) -> Word64 -> m Word64 Source gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> Word64 -> m Word64 Source gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> Word64 -> m Word64 Source | |
| Bounded Word64 Source | Since: base-2.1 |
| Enum Word64 Source | Since: base-2.1 |
Определено в GHC.Internal.Word | |
| Read Word64 Источник | С момента: base-2.1 |
| Целочисленная Word64 Источник | С момента: base-2.1 |
Определено в GHC.Internal.Word | |
| Вещественный Word64 Источник | С момента: base-2.1 |
Определено в GHC.Internal.Word МетодыtoRational :: Word64 -> Рациональное Источник | |
| Вывод Word64 Источник | С момента: base-2.1 |
| Eq Word64 Источник | С момента: base-2.1 |
Определено в GHC.Internal.Word Методыравно :: Word64 -> Word64 -> Bool Исходный код не равно :: Word64 -> Word64 -> Bool Исходный код | |
| Ord Word64 Исходный код | С версии: base-2.1 |
Определено в GHC.Internal.Word Методысравнение :: Word64 -> Word64 -> Ordering Исходный код (меньше) :: Word64 -> Word64 -> Bool Исходный код (меньше или равно) :: Word64 -> Word64 -> Bool Исходный код (больше) :: Word64 -> Word64 -> Bool Исходный код (больше или равно) :: Word64 -> Word64 -> Bool Исходный код максимум :: Word64 -> Word64 -> Word64 Исходный код минимум :: Word64 -> Word64 -> Word64 Исходный код | |
| Поднятие Word64 Исходный код | |
Определено в GHC.Internal.TH.Lift Методыподнять :: Цитата m => Word64 -> m Выражение Исходный код поднять типизированный :: forall (m :: Тип -> Тип). Цитата m => Word64 -> Код m Word64 Исходный код | |
Перестановка байтов
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.14.0.0
bitReverse16 :: Word16 -> Word16 Исходный код
Инвертирование порядка битов в Word16.
С версии: base-4.14.0.0
bitReverse32 :: Word32 -> Word32 Исходный код
Инвертирование порядка битов в Word32.
С версии: base-4.14.0.0
bitReverse64 :: Word64 -> Word64 Исходный код
Инвертирование порядка битов в Word64.
С версии: base-4.14.0.0
Примечания
- Все арифметические операции выполняются по модулю 2n, где 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/9.12.1/docs/libraries/base-4.21.0.0-8e62/Data-Word.html