Data.Word
Copyright | (c) The University of Glasgow 2001 |
---|---|
License | BSD-style (see the file libraries/base/LICENSE) |
Maintainer | [email protected] |
Stability | experimental |
Portability | portable |
Safe Haskell | Safe |
Language | Haskell2010 |
Contents
Description
Unsigned integer types.
Unsigned integral types
A Word
is an unsigned integral type, with the same size as Int
.
Instances
8-bit unsigned integer type
Instances
16-bit unsigned integer type
Instances
32-bit unsigned integer type
Instances
64-bit unsigned integer type
Instances
byte swapping
byteSwap16 :: Word16 -> Word16 Source
Swap bytes in Word16
.
Since: 4.7.0.0
byteSwap32 :: Word32 -> Word32 Source
Reverse order of bytes in Word32
.
Since: 4.7.0.0
byteSwap64 :: Word64 -> Word64 Source
Reverse order of bytes in Word64
.
Since: 4.7.0.0
Notes
- All arithmetic is performed modulo 2^n, where n is the number of bits in the type. One non-obvious consequence of this is that
negate
should not raise an error on negative arguments. - For coercing between any two integer types, use
fromIntegral
, which is specialized for all the common cases so should be fast enough. Coercing word types to and from integer types preserves representation, not sign. - An unbounded size unsigned integer type is available with
Natural
. - The rules that hold for
Enum
instances over a bounded type such asInt
(see the section of the Haskell report dealing with arithmetic sequences) also hold for theEnum
instances over the variousWord
types defined here. - Right and left shifts by amounts greater than or equal to the width of the type result in a zero result. This is contrary to the behaviour in C, which is undefined; a common interpretation is to truncate the shift count to the width of the type, for example
1 << 32 == 1
in some C implementations.
© 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