base-4.7.0.0: Basic libraries

Copyright(c) The University of Glasgow 2001
LicenseBSD-style (see the file libraries/base/LICENSE)
Maintainerlibraries@haskell.org
Stabilityexperimental
Portabilityportable
Safe HaskellSafe
LanguageHaskell2010

Data.Word

Description

Unsigned integer types.

Synopsis

Unsigned integral types

data Word :: *

A Word is an unsigned integral type, with the same size as Int .

Instances

data Word8 Source

8-bit unsigned integer type

Instances

data Word16 Source

16-bit unsigned integer type

Instances

data Word32 Source

32-bit unsigned integer type

Instances

data Word64 Source

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.
  • It would be very natural to add a type Natural providing an unbounded size unsigned integer, just as Integer provides unbounded size signed integers. We do not do that yet since there is no demand for it.
  • The rules that hold for Enum instances over a bounded type such as Int (see the section of the Haskell report dealing with arithmetic sequences) also hold for the Enum instances over the various Word 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.

AltStyle によって変換されたページ (->オリジナル) /