Data.Int
| 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 | Trustworthy |
| Language | Haskell2010 |
Содержание
Описание
Типы целых чисел со знаком
Типы целых чисел со знаком
Тип целого числа с фиксированной точностью, имеющий диапазон не менее [-2^29 .. 2^29-1]. Точный диапазон для данной реализации может быть определен с помощью minBound и maxBound из класса Bounded.
Определено в Data.Data Методыgfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> Int -> c Int Исходный код gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c Int Исходный код toConstr :: Int -> Constr Исходный код dataTypeOf :: Int -> DataType Исходный код dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c Int) Исходный код dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c Int) Исходный код gmapT :: (forall b. Data b => b -> b) -> Int -> Int Исходный код gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Int -> r Исходный код gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Int -> r Исходный код gmapQ :: (forall d. Data d => d -> u) -> Int -> [u] Исходный код gmapQi :: Int -> (forall d. Data d => d -> u) -> Int -> u Исходный код gmapM :: Monad m => (forall d. Data d => d -> m d) -> Int -> m Int Исходный код gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> Int -> m Int Исходный код gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> Int -> m Int Исходный код | |
| Num Int | С момента: base-2.1 |
Определено в GHC.Num Методы(+) :: Int -> Int -> Int Исходный код (-) :: Int -> Int -> Int Исходный код (*) :: Int -> Int -> Int Исходный код negate :: Int -> Int Исходный код abs :: Int -> Int Исходный код signum :: Int -> Int Исходный код fromInteger :: Integer -> Int Исходный код | |
| Ord Int | |
Определено в GHC.Classes Методыcompare :: Int -> Int -> Ordering Исходный код (<) :: Int -> Int -> Bool Исходный код (<=) :: Int -> Int -> Bool Исходный код (>) :: Int -> Int -> Bool Исходный код (>=) :: Int -> Int -> Bool Исходный код max :: Int -> Int -> Int Исходный код min :: Int -> Int -> Int Исходный код | |
| Read Int | Since: base-2.1 |
Определено в GHC.Read МетодыreadsPrec :: Int -> ReadS Int Исходный код readList :: ReadS [Int] Исходный код | |
| Real Int | Since: base-2.0.1 |
Определено в GHC.Real МетодыtoRational :: Int -> Rational Исходный код | |
| Show Int | Since: base-2.1 |
Определено в GHC.Show МетодыshowsPrec :: Int -> Int -> ShowS Исходный код show :: Int -> String Исходный код showList :: [Int] -> ShowS Исходный код | |
| Ix Int | Since: base-2.1 |
Определено в GHC.Ix Методыrange :: (Int, Int) -> [Int] Исходный код index :: (Int, Int) -> Int -> Int Исходный код unsafeIndex :: (Int, Int) -> Int -> Int Исходный код inRange :: (Int, Int) -> Int -> Bool Исходный код rangeSize :: (Int, Int) -> Int Исходный код unsafeRangeSize :: (Int, Int) -> Int Исходный код | |
| FiniteBits Int | Since: base-4.6.0.0 |
Определено в Data.Bits МетодыfiniteBitSize :: Int -> Int Исходный код countLeadingZeros :: Int -> Int Исходный код countTrailingZeros :: Int -> Int Исходный код | |
| Bits Int | Since: base-2.1 |
Определено в Data.Bits Методы(.&.) :: Int -> Int -> Int Источник (.|.) :: Int -> Int -> Int Источник xor :: Int -> Int -> Int Источник complement :: Int -> Int Источник shift :: Int -> Int -> Int Источник rotate :: Int -> Int -> Int Источник setBit :: Int -> Int -> Int Источник clearBit :: Int -> Int -> Int Источник complementBit :: Int -> Int -> Int Источник testBit :: Int -> Int -> Bool Источник bitSizeMaybe :: Int -> Maybe Int Источник bitSize :: Int -> Int Источник isSigned :: Int -> Bool Источник shiftL :: Int -> Int -> Int Источник unsafeShiftL :: Int -> Int -> Int Источник shiftR :: Int -> Int -> Int Источник unsafeShiftR :: Int -> Int -> Int Источник rotateL :: Int -> Int -> Int Источник | |
| Storable Int | С: base-2.1 |
Определено в Foreign.Storable | |
| PrintfArg Int | С: base-2.1 |
Определено в Text.Printf Краткое описание методовformatArg :: Int -> FieldFormatter Source parseFormat :: Int -> ModifierParser Source | |
| Generic1 (URec Int :: k -> Type) | Since: base-4.9.0.0 |
| Foldable (UInt :: Type -> Type) | Since: base-4.9.0.0 |
Определено в Data.Foldable Краткое описание методовfold :: Monoid m => UInt m -> m Source foldMap :: Monoid m => (a -> m) -> UInt a -> m Source foldMap' :: Monoid m => (a -> m) -> UInt a -> m Source foldr :: (a -> b -> b) -> b -> UInt a -> b Source foldr' :: (a -> b -> b) -> b -> UInt a -> b Source foldl :: (b -> a -> b) -> b -> UInt a -> b Source foldl' :: (b -> a -> b) -> b -> UInt a -> b Source foldr1 :: (a -> a -> a) -> UInt a -> a Source foldl1 :: (a -> a -> a) -> UInt a -> a Source toList :: UInt a -> [a] Source length :: UInt a -> Int Source elem :: Eq a => a -> UInt a -> Bool Source maximum :: Ord a => UInt a -> a Source minimum :: Ord a => UInt a -> a Source | |
| Traversable (UInt :: Type -> Type) | Since: base-4.9.0.0 |
Определено в Data.Traversable | |
| Functor (URec Int :: Type -> Type) | Since: base-4.9.0.0 |
Определено в GHC.Generics | |
| Eq (URec Int p) | С версии: base-4.9.0.0 |
Определено в GHC.Generics | |
| Ord (URec Int p) | С версии: base-4.9.0.0 |
Определено в GHC.Generics Методыcompare :: URec Int p -> URec Int p -> Ordering Исходный код (<) :: URec Int p -> URec Int p -> Bool Исходный код (<=) :: URec Int p -> URec Int p -> Bool Исходный код (>) :: URec Int p -> URec Int p -> Bool Исходный код (>=) :: URec Int p -> URec Int p -> Bool Исходный код | |
| Show (URec Int p) | С версии: base-4.9.0.0 |
Определено в GHC.Generics | |
| Generic (URec Int p) | С версии: base-4.9.0.0 |
| data URec Int (p :: k) |
Используется для маркировки случаев С версии: base-4.9.0.0 |
| type Rep1 (URec Int :: k -> Type) | |
Определено в GHC.Generics | |
| type Rep (URec Целое p) | |
Определено в GHC.Generics | |
Целочисленный тип со знаком 8 бит
Примеры использования
| Ограниченный Int8 | С момента: base-2.1 |
Определено в GHC.Int | |
| Перечисление Int8 | С момента: base-2.1 |
Определено в GHC.Int Методыsucc :: Int8 -> Int8 Исходный код pred :: Int8 -> Int8 Исходный код toEnum :: Int -> Int8 Исходный код fromEnum :: Int8 -> Int Исходный код enumFrom :: Int8 -> [Int8] Исходный код enumFromThen :: Int8 -> Int8 -> [Int8] Исходный код enumFromTo :: Int8 -> Int8 -> [Int8] Исходный код enumFromThenTo :: Int8 -> Int8 -> Int8 -> [Int8] Исходный код | |
| Равенство Int8 | С момента: base-2.1 |
| Целочисленное Int8 | С момента: base-2.1 |
Определено в GHC.Int Методыquot :: Int8 -> Int8 -> Int8 Исходный код rem :: Int8 -> Int8 -> Int8 Исходный код div :: Int8 -> Int8 -> Int8 Исходный код mod :: Int8 -> Int8 -> Int8 Исходный код quotRem :: Int8 -> Int8 -> (Int8, Int8) Исходный код divMod :: Int8 -> Int8 -> (Int8, Int8) Исходный код toInteger :: Int8 -> Integer Исходный код | |
| Данные Int8 | С момента: base-4.0.0.0 |
Определено в Data.Data Методыgfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> Int8 -> c Int8 Исходный код gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c Int8 Исходный код toConstr :: Int8 -> Constr Исходный код dataTypeOf :: Int8 -> DataType Исходный код dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Может (c Int8) Исходный код dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Может (c Int8) Исходный код gmapT :: (forall b. Data b => b -> b) -> Int8 -> Int8 Исходный код gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Int8 -> r Исходный код gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Int8 -> r Исходный код gmapQ :: (forall d. Data d => d -> u) -> Int8 -> [u] Исходный код gmapQi :: Int -> (forall d. Data d => d -> u) -> Int8 -> u Исходный код gmapM :: Монадный m => (forall d. Data d => d -> m d) -> Int8 -> m Int8 Исходный код gmapMp :: МонадныйСумма m => (forall d. Data d => d -> m d) -> Int8 -> m Int8 Исходный код gmapMo :: МонадныйСумма m => (forall d. Data d => d -> m d) -> Int8 -> m Int8 Исходный код | |
| Число Int8 | С: base-2.1 |
Определено в GHC.Int Методы(+) :: Int8 -> Int8 -> Int8 Исходный код (-) :: Int8 -> Int8 -> Int8 Исходный код (*) :: Int8 -> Int8 -> Int8 Исходный код negate :: Int8 -> Int8 Исходный код abs :: Int8 -> Int8 Исходный код signum :: Int8 -> Int8 Исходный код fromInteger :: Целое -> Int8 Исходный код | |
| Порядок Int8 | С: base-2.1 |
Определено в GHC.Int Методыcompare :: Int8 -> Int8 -> Порядок Исходный код (<) :: Int8 -> Int8 -> Булево Исходный код (<=) :: Int8 -> Int8 -> Булево Исходный код (>) :: Int8 -> Int8 -> Булево Исходный код (>=) :: Int8 -> Int8 -> Булево Исходный код max :: Int8 -> Int8 -> Int8 Исходный код min :: Int8 -> Int8 -> Int8 Исходный код | |
| Read Int8 | Since: base-2.1 |
Определено в GHC.Int МетодыreadsPrec :: Целое -> ReadS Int8 Исходный код readList :: ReadS [Int8] Исходный код | |
| Вещественный Int8 | Since: base-2.1 |
Определено в GHC.Int Методы | |
| Show Int8 | Since: base-2.1 |
Определено в GHC.Int МетодыshowsPrec :: Целое -> Int8 -> ShowS Исходный код show :: Int8 -> Строка Исходный код showList :: [Int8] -> ShowS Исходный код | |
| Ix Int8 | Since: base-2.1 |
Определено в GHC.Int Методыrange :: (Int8, Int8) -> [Int8] Исходный код index :: (Int8, Int8) -> Int8 -> Целое Исходный код unsafeIndex :: (Int8, Int8) -> Int8 -> Целое Исходный код inRange :: (Int8, Int8) -> Int8 -> Булево Исходный код rangeSize :: (Int8, Int8) -> Целое Исходный код unsafeRangeSize :: (Int8, Int8) -> Целое Исходный код | |
| FiniteBits Int8 | Since: base-4.6.0.0 |
Определено в GHC.Int | |
| Bits Int8 | Since: base-2.1 |
Определено в Text.Printf |
16-битный знаковый целочисленный тип
Экземпляры
| Bounded Int16 | С версии: base-2.1 |
| Enum Int16 | С версии: base-2.1 |
Определено в GHC.Int Методыsucc :: Int16 -> Int16 Источник pred :: Int16 -> Int16 Источник toEnum :: Int -> Int16 Источник fromEnum :: Int16 -> Int Источник enumFrom :: Int16 -> [Int16] Источник enumFromThen :: Int16 -> Int16 -> [Int16] Источник enumFromTo :: Int16 -> Int16 -> [Int16] Источник enumFromThenTo :: Int16 -> Int16 -> Int16 -> [Int16] Источник | |
| Eq Int16 | С версии: base-2.1 |
| Integral Int16 | С версии: base-2.1 |
| Data Int16 | С версии: base-4.0.0.0 |
Определено в Data.Data Методыgfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> Int16 -> c Int16 Исходный код gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c Int16 Исходный код toConstr :: Int16 -> Constr Исходный код dataTypeOf :: Int16 -> DataType Исходный код dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c Int16) Исходный код dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c Int16) Исходный код gmapT :: (forall b. Data b => b -> b) -> Int16 -> Int16 Исходный код gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Int16 -> r Исходный код gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Int16 -> r Исходный код gmapQ :: (forall d. Data d => d -> u) -> Int16 -> [u] Исходный код gmapQi :: Int -> (forall d. Data d => d -> u) -> Int16 -> u Исходный код gmapM :: Monad m => (forall d. Data d => d -> m d) -> Int16 -> m Int16 Исходный код gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> Int16 -> m Int16 Исходный код gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> Int16 -> m Int16 Исходный код | |
| Num Int16 | С момента: base-2.1 |
Определено в GHC.Int Методы(+) :: Int16 -> Int16 -> Int16 Исходный код (-) :: Int16 -> Int16 -> Int16 Исходный код (*) :: Int16 -> Int16 -> Int16 Исходный код negate :: Int16 -> Int16 Исходный код abs :: Int16 -> Int16 Исходный код signum :: Int16 -> Int16 Исходный код fromInteger :: Integer -> Int16 Исходный код | |
| Ord Int16 | С момента: base-2.1 |
Определено в GHC.Int Методы(.&.) :: Int16 -> Int16 -> Int16 Source (.|.) :: Int16 -> Int16 -> Int16 Source xor :: Int16 -> Int16 -> Int16 Source complement :: Int16 -> Int16 Source shift :: Int16 -> Int -> Int16 Source rotate :: Int16 -> Int -> Int16 Source setBit :: Int16 -> Int -> Int16 Source clearBit :: Int16 -> Int -> Int16 Source complementBit :: Int16 -> Int -> Int16 Source testBit :: Int16 -> Int -> Bool Source bitSizeMaybe :: Int16 -> Maybe Int Source bitSize :: Int16 -> Int Source isSigned :: Int16 -> Bool Source shiftL :: Int16 -> Int -> Int16 Source unsafeShiftL :: Int16 -> Int -> Int16 Source shiftR :: Int16 -> Int -> Int16 Source unsafeShiftR :: Int16 -> Int -> Int16 Source rotateL :: Int16 -> Int -> Int16 Source | |
| Storable Int16 | С версии: base-2.1 |
Определено в Foreign.Storable | |
| PrintfArg Int16 | Since: base-2.1 |
Определено в Text.Printf | |
32-битный знаковый целочисленный тип
Экземпляры
| Bounded Int32 | Since: base-2.1 |
| Enum Int32 | Since: base-2.1 |
| Eq Int32 | Since: base-2.1 |
| Integral Int32 | Since: base-2.1 |
Определено в GHC.Int | |
| Data Int32 | 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) -> Int32 -> c Int32 Исходный код gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c Int32 Исходный код toConstr :: Int32 -> Constr Исходный код dataTypeOf :: Int32 -> DataType Исходный код dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c Int32) Исходный код dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c Int32) Исходный код gmapT :: (forall b. Data b => b -> b) -> Int32 -> Int32 Исходный код gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Int32 -> r Исходный код gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Int32 -> r Исходный код gmapQ :: (forall d. Data d => d -> u) -> Int32 -> [u] Исходный код gmapQi :: Int -> (forall d. Data d => d -> u) -> Int32 -> u Исходный код gmapM :: Monad m => (forall d. Data d => d -> m d) -> Int32 -> m Int32 Исходный код gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> Int32 -> m Int32 Исходный код gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> Int32 -> m Int32 Исходный код | |
| Num Int32 | С момента: base-2.1 |
Определено в GHC.Int Методы(+) :: Int32 -> Int32 -> Int32 Исходный код (-) :: Int32 -> Int32 -> Int32 Исходный код (*) :: Int32 -> Int32 -> Int32 Исходный код negate :: Int32 -> Int32 Исходный код abs :: Int32 -> Int32 Исходный код signum :: Int32 -> Int32 Исходный код fromInteger :: Integer -> Int32 Исходный код | |
| Ord Int32 | С момента: base-2.1 |
| PrintfArg Int32 | Since: base-2.1 |
Определено в Text.Printf Методы | |
data Int64 Исходный код
64-битный знаковый целочисленный тип
Экземпляры
| Bounded Int64 | Since: base-2.1 |
Определено в GHC.Int | |
| Enum Int64 | Since: base-2.1 |
Определено в GHC.Int Методыsucc :: Int64 -> Int64 Исходный код pred :: Int64 -> Int64 Исходный код toEnum :: Int -> Int64 Исходный код fromEnum :: Int64 -> Int Исходный код enumFrom :: Int64 -> [Int64] Исходный код enumFromThen :: Int64 -> Int64 -> [Int64] Исходный код enumFromTo :: Int64 -> Int64 -> [Int64] Исходный код enumFromThenTo :: Int64 -> Int64 -> Int64 -> [Int64] Исходный код | |
| Eq Int64 | Since: base-2.1 |
| Integral Int64 | Since: base-2.1 |
Определено в GHC.Int Методыquot :: Int64 -> Int64 -> Int64 Исходный код rem :: Int64 -> Int64 -> Int64 Исходный код div :: Int64 -> Int64 -> Int64 Исходный код mod :: Int64 -> Int64 -> Int64 Исходный код quotRem :: Int64 -> Int64 -> (Int64, Int64) Исходный код divMod :: Int64 -> Int64 -> (Int64, Int64) Исходный код toInteger :: Int64 -> Integer Исходный код | |
| Data Int64 | 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) -> Int64 -> c Int64 Исходный код gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c Int64 Исходный код toConstr :: Int64 -> Constr Исходный код dataTypeOf :: Int64 -> DataType Исходный код dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c Int64) Исходный код dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c Int64) Исходный код gmapT :: (forall b. Data b => b -> b) -> Int64 -> Int64 Исходный код gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Int64 -> r Исходный код gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Int64 -> r Исходный код gmapQ :: (forall d. Data d => d -> u) -> Int64 -> [u] Исходный код gmapQi :: Int -> (forall d. Data d => d -> u) -> Int64 -> u Исходный код gmapM :: Monad m => (forall d. Data d => d -> m d) -> Int64 -> m Int64 Исходный код gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> Int64 -> m Int64 Исходный код gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> Int64 -> m Int64 Исходный код | |
| Num Int64 | С версии: base-2.1 |
Определено в GHC.Int Методы(+) :: Int64 -> Int64 -> Int64 Исходный код (-) :: Int64 -> Int64 -> Int64 Исходный код (*) :: Int64 -> Int64 -> Int64 Исходный код negate :: Int64 -> Int64 Исходный код abs :: Int64 -> Int64 Исходный код signum :: Int64 -> Int64 Исходный код fromInteger :: Integer -> Int64 Исходный код | |
| Ord Int64 | С версии: base-2.1 |
| PrintfArg Int64 | С момента: base-2.1 |
Определено в Text.Printf Методы | |
Примечания
- Все арифметические операции выполняются по модулю 2n, где
n— количество битов в типе. - Для преобразования между любыми двумя целочисленными типами используйте
fromIntegral, который специализирован для всех распространенных случаев и, следовательно, должен быть достаточно быстрым. Преобразование типов слов (см. Data.Word) в целочисленные типы и обратно сохраняет представление, а не знак. - Правила, которые выполняются для экземпляров
Enumнад ограниченным типом, таким какInt(см. раздел отчета Haskell, посвященный арифметическим последовательностям), также выполняются для экземпляровEnumнад различными типамиInt, определенными здесь. - Сдвиги вправо и влево на величину, равную или большую, чем ширина типа, приводят к нулю или -1, в зависимости от знака сдвигаемого значения. Это противоречит поведению в 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-Int.html