BTEST(I,POS) returns logical .TRUE. if the bit at POS in I is set. The counting of the bits starts at 0.
Fortran 95 and later, has overloads that are GNU extensions
Elemental function
RESULT = BTEST(I, POS)
| I | The type shall be INTEGER. |
| POS | The type shall be INTEGER. |
The return value is of type LOGICAL
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
| Name | Argument | Return type | Standard |
BTEST(I,POS) |
INTEGER I,POS |
LOGICAL |
F95 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 |
© Free Software Foundation
Licensed under the GNU Free Documentation License, Version 1.3.
https://gcc.gnu.org/onlinedocs/gcc-7.2.0/gfortran/BTEST.html