### 8.244 `SHIFTA`

— Right shift with fill ¶

*Description*:
`SHIFTA`

returns a value corresponding to `I` with all of the
bits shifted right by `SHIFT` places. `SHIFT` that be
nonnegative and less than or equal to `BIT_SIZE(I)`

, otherwise
the result value is undefined. Bits shifted out from the right end
are lost. The fill is arithmetic: the bits shifted in from the left
end are equal to the leftmost bit, which in two’s complement
representation is the sign bit.

*Standard*:
Fortran 2008 and later

*Class*:
Elemental function

*Syntax*:
`RESULT = SHIFTA(I, SHIFT)`

*Arguments*:
`I` | The type shall be `INTEGER` . |

`SHIFT` | The type shall be `INTEGER` . |

*Return value*:
The return value is of type `INTEGER`

and of the same kind as
`I`.

*See also*:
`SHIFTL`

— Left shift,
`SHIFTR`

— Right shift