Bitwise NOT Operator
The bitwise NOT operator (the ~
operator) generates a new value with the bits of its operand inverted. Each 1 bit is set to 0; each 0 bit is set to 1:
Here, our char
operand is first promoted to int
. Promoting a char
to int
leaves the value unchanged but adds 0 bits to the high order positions. Thus, promoting bits
to int
adds 24 high order bits, all of which are 0-valued. The bits in the promoted value are inverted.
Get C++ Primer, Fifth Edition now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.