Примеры программ на языке QBASIC

Определение позиции старшей единицы в двоичном числе


REM Определение позиции старшей единицы в двоичном числе
DECLARE FUNCTION LeftBit! (N&)
INPUT "Введите целое число: ", M&
IF M& = 0 THEN PRINT "В этом числе единиц нет": END
PRINT "Старший разряд находится в позиции номер "; LeftBit(M&)
END

FUNCTION LeftBit (N&)
REM Определение позиции старшей единицы в числе N
REM Если N=0, то LeftBit=-1
LeftBit = -1
j& = &H40000000
FOR k = 30 TO 0 STEP -1
  IF (j& AND N&) THEN ' Анализ k-того разряда
    LeftBit = k
    EXIT FUNCTION
  END IF
  j& = j& / 2
NEXT k
END FUNCTION