FUNCTION get_bits, input, bit_n, order_flag IF (bit_n EQ 32) THEN x = ULONG(input, 0, 1) ELSE $ IF (bit_n EQ 16) THEN x = UINT(input, 0, 1) ELSE STOP bit = LONARR(bit_n) FOR j = 0, bit_n-1 DO $ BEGIN bit[bit_n-j-1] = x MOD 2L x = x / 2L ENDFOR IF (order_flag EQ 0) THEN RETURN, bit $ ELSE RETURN, REVERSE(bit) END