FORTRAN 77 Language Reference

## VMS Bit-Manipulation

Table 6-11 VMS Bit-Manipulation Functions

Generic Name

Specific Names

Function

Argument Type

Result Type

IBITS IIBITS JIBITS

From a1, initial bit a2, extract a3 bits

- INTEGER*2 INTEGER*4- INTEGER*2 INTEGER*4
ISHFT IISHFT JISHFT

Shift a1 logically by a2 bits; if a2 positive shift left, if a2 negative shift right

Shift a1 logically left by a2 bits

Shift a1 logically left by a2 bits

- INTEGER*2 INTEGER*4- INTEGER*2 INTEGER*4
ISHFTC IISHFTC JISHFTC

In a1, circular shift by a2 places, of right a3 bits

- INTEGER*2 INTEGER*4- INTEGER*2 INTEGER*4
IAND IIAND JIAND

Bitwise AND of a1, a2

- INTEGER*2 INTEGER*4- INTEGER*2 INTEGER*4
IOR IIOR JIOR

Bitwise OR of a1, a2

- INTEGER*2 INTEGER*4- INTEGER*2 INTEGER*4
IEOR IIEOR JIEOR

Bitwise exclusive OR of a1, a2

- INTEGER*2 INTEGER*4- INTEGER*2 INTEGER*4
NOT INOT JNOT

Bitwise complement

- INTEGER*2 INTEGER*4- INTEGER*2 INTEGER*4
IBSET IIBSET JIBSET

In a1, set bit a2 to 1

In a1, set bit a2 to 1; return new a1

In a1, set bit a2 to 1; return new a1

- INTEGER*2 INTEGER*4- INTEGER*2 INTEGER*4
BTEST BITEST BJTEST

If bit a2 of a1 is 1, return .TRUE.

- INTEGER*2 INTEGER*4- INTEGER*2 INTEGER*4
IBCLR IIBCLR JIBCLR

In a1, set bit a2 to 0; return new a1

- INTEGER*2 INTEGER*4- INTEGER*2 INTEGER*4