ISHFT — Shift bits#

ISHFT()#

ISHFT returns a value corresponding to I with all of the bits shifted SHIFT places. A value of SHIFT greater than zero corresponds to a left shift, a value of zero corresponds to no shift, and a value less than zero corresponds to a right shift. If the absolute value of SHIFT is greater than BIT_SIZE(I), the value is undefined. Bits shifted out from the left end or right end are lost; zeros are shifted in from the opposite end.

Parameters:
  • I – The type shall be INTEGER.

  • SHIFT – The type shall be INTEGER.

Returns:

The return value is of type INTEGER and of the same kind as I.

Standard:

Fortran 90 and later, has overloads that are GNU extensions

Class:

Elemental function

Syntax:
RESULT = ISHFT(I, SHIFT)
Specific names:

Name

Argument

Return type

Standard

ISHFT(A)

INTEGER A

INTEGER

Fortran 90 and later

BSHFT(A)

INTEGER(1) A

INTEGER(1)

GNU extension

IISHFT(A)

INTEGER(2) A

INTEGER(2)

GNU extension

JISHFT(A)

INTEGER(4) A

INTEGER(4)

GNU extension

KISHFT(A)

INTEGER(8) A

INTEGER(8)

GNU extension

See also:

ISHFTC — Shift bits circularly