BTEST (The GNU Fortran Compiler)

### 8.55 `BTEST` — Bit test function ¶

Synopsis:

  `RESULT = BTEST(I, POS)`

Description:

  `BTEST(I,POS)` returns logical `.TRUE.` if the bit at POS in I is set. The counting of the bits starts at 0.

Class:

  Elemental function

Arguments:

  I | The type shall be `INTEGER` or `UNSIGNED`.
  POS | The type shall be `INTEGER`.

Return value:

  The return value is of type `LOGICAL`

Example:

      program test_btest
          integer :: i = 32768 + 1024 + 64
          integer :: pos
          logical :: bool
          do pos=0,16
              bool = btest(i, pos)
              print *, pos, bool
          end do
      end program test_btest

Specific names:

  Name | Argument | Return type | Standard
  --- | --- | --- | ---
  `BTEST(I,POS)` | `INTEGER I,POS` | `LOGICAL` | Fortran 95 and later
  `BBTEST(I,POS)` | `INTEGER(1) I,POS` | `LOGICAL(1)` | GNU extension
  `BITEST(I,POS)` | `INTEGER(2) I,POS` | `LOGICAL(2)` | GNU extension
  `BJTEST(I,POS)` | `INTEGER(4) I,POS` | `LOGICAL(4)` | GNU extension
  `BKTEST(I,POS)` | `INTEGER(8) I,POS` | `LOGICAL(8)` | GNU extension

Standard:

  Fortran 90 and later, has overloads that are GNU extensions; extension for `UNSIGNED` (see Unsigned integers)