8.165 ISHFT — Shift bits

Synopsis:

RESULT = ISHFT(I, SHIFT)

Description:

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.

Class:

Elemental function

Arguments:
IThe type shall be INTEGER or UNSIGNED.
SHIFTThe type shall be INTEGER.
Return value:

The return value is of type of I.

Specific names:
NameArgumentReturn typeStandard
ISHFT(A)INTEGER AINTEGERFortran 90 and later
BSHFT(A)INTEGER(1) AINTEGER(1)GNU extension
IISHFT(A)INTEGER(2) AINTEGER(2)GNU extension
JISHFT(A)INTEGER(4) AINTEGER(4)GNU extension
KISHFT(A)INTEGER(8) AINTEGER(8)GNU extension
Standard:

Fortran 90 and later, has overloads that are GNU extensions. Extension for UNSIGNED (see Unsigned integers)

See also:

ISHFTC — Shift bits circularly