Skip to content

End of Life Ruby 3.1 has reached end of life and gets no more fixes. Switch to Ruby 4.0 →

instance method

Integer#~

~int → integer

One’s complement: returns a number where each bit is flipped.

Inverts the bits in an Integer. As integers are conceptually of infinite length, the result acts as if it had an infinite number of one bits to the left. In hex representations, this is displayed as two periods to the left of the digits.

Example
sprintf("%X", ~0x1122334455)    #=> "..FEEDDCCBBAA"
See also #| #abs #^ #allbits? also in 4.1 · 4.0 · 3.4 · 3.3 · 3.2 · 3.0