Skip to content

Preview Ruby 4.1 is a preview. It can change before the final release. Switch to Ruby 4.0 →

instance method

Integer#~

() -> ::Integer
~int → integer

One’s complement: returns the value of self with each bit inverted.

Because an integer value is 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.0 · 3.4 · 3.3 · 3.2 · 3.1 · 3.0