[Overview][Constants][Types][Classes][Procedures and functions][Variables][Index] | Reference for unit 'System' (#rtl)

# Swap

Swap high and low bytes/words of a variable

## Declaration

Source position: systemh.inc line 830

`function Swap(`
`X: Word`
`):Word; function Swap(`
`X: Integer`
`):Integer; function Swap(`
`X: LongInt`
`):LongInt; function Swap(`
`X: Cardinal`
`):Cardinal; function Swap(`
`X: QWord`
`):QWord; function Swap(`
`X: Int64`
`):Int64;`

## Description

Swap swaps the high and low order bytes of X if X is of type Word or Integer, or swaps the high and low order words of X if X is of type Longint or Cardinal. The return type is the type of X

## Errors

None.

## See also

Lo |  | Return low nibble/byte/word of value.
Hi |  | Return high byte/word/nibble of value.

## Example

    Program Example69;

    { Program to demonstrate the Swap function. }
    Var W : Word;
        L : Longint;

    begin
      W:=$1234;
      W:=Swap(W);
      if W<>$3412 then
        writeln ('Error when swapping word !');
      L:=$12345678;
      L:=Swap(L);
      if L<>$56781234 then
        writeln ('Error when swapping Longint !');
    end.