5.1.10 BOZ литеральные константы
Помимо десятичных констант, Fortran также поддерживает двоичные (b), восьмеричные (o) и шестнадцатеричные (z) целые константы. Синтаксис: ‘префикс цитата цифры цитата’, где префикс — это либо b, либо o или z, цитата — это либо ' или ", а цифры — это 0 или 1 для двоичных, между 0 и 7 для восьмеричных и между 0 и F для шестнадцатеричных. (Пример: b'01011101'.)
До Fortran 95, BOZ литеральные константы разрешалось использовать только для инициализации целочисленных переменных в операторах DATA. С Fortran 2003 BOZ литеральные константы также разрешены в качестве фактических аргументов для REAL, DBLE, INT и CMPLX встроенных функций. BOZ литеральная константа — это просто строка битов, которая дополняется или усекается по мере необходимости при преобразовании в числовой тип. Стандарт Fortran указывает, что обработка знака бита зависит от процессора. Gfortran интерпретирует знак бита так, как ожидается от пользователя.
В качестве устаревшего расширения GNU Fortran позволяет указывать шестнадцатеричные BOZ литеральные константы, используя префикс X. BOZ литеральная константа также может быть указана путем добавления суффикса к строке, например, Z'ABC' и 'ABC'X эквивалентны. Кроме того, как расширение, BOZ литералы допускаются в некоторых контекстах за пределами DATA и встроенных функций, перечисленных в стандарте Fortran. Используйте -fallow-invalid-boz для включения расширения.
© Free Software Foundation
Licensed under the GNU Free Documentation License, Version 1.3.
https://gcc.gnu.org/onlinedocs/gcc-12.1.0/gfortran/BOZ-literal-constants.html