Open main menu

Wikibooks β

C Programming/iso646.h

< C Programming(Redirected from C Programming/C Reference/iso646.h)

The iso646.h header file is part of the C standard library. It was added to this library in a 1995 amendment to the C90 standard. It defines a number of macros which allow programmers to use C language bitwise and logical operators, which, without the header file, cannot be quickly or easily typed on some international and non-QWERTY keyboards.

The filename refers to the ISO646 standard, a 7-bit character set with a number of regional variations, some of which have accented characters in place of the punctuation marks used by C operators.

The macrosEdit

The iso646.h header defines the following 11 macros as stated below:

Macro Defined as
and &&
and_eq &=
bitand &
bitor |
compl ~
not !
not_eq !=
or ||
or_eq |=
xor ^
xor_eq ^=


These identifiers are operator keywords in the ISO C++ programming language and do not require the inclusion of a header file. For consistency, the C++98 standard provides the header <ciso646>. However the latter file has no effect, being empty.[1]


  1. Lischner, Ray (2003). C++ in a Nutshell. O'Reilly Media. p. 212. ISBN 0-596-00298-X.