ISHFT Function

Performs the bit shift operation on BYTE, INT, INT32, and LONG PV‑WAVE data types.

Usage

    result = ISHFT(p1, p2)

Input Parameters

p1—The scalar or array to be shifted.

p2—The scalar containing the number of bit positions and direction of the shift.

Returned Value

result—The shifted scalar or array value.

Keywords

None.

Discussion

If p2 is positive, p1 is left-shifted p2 bit positions, with 0 bits filling vacated positions. If p2 is negative, p1 is right-shifted, again with 0 bits filling vacated positions.

Example

In this example, ISHFT is used to multiply and divide each element of a five-element vector by powers of 2.

; Create and initialize a five-element byte array.
a = BYTARR(5)
FOR i=0L, 4 DO a(i) = 4 * i
PRINT, a
; PV-WAVE prints: 0   4   8   12   16
PRINT, a, ISHFT(a, -2)
; PV-WAVE prints:
; 0   4   8   12   16
; 0   1   2   3    4
PRINT, a, ISHFT(a, 1)
; PV-WAVE prints:
; 0   4    8   12   16
; 0   8   16   24   32

See Also

SHIFT