Bitwise Operations
All about bitwise operations in Ruby.
Notes
NOT
The ~ operator: one’s complement (returns a number where each bit is flipped)
By default, this returns a signed integer, so ~0b0101
produces -0b110
. To convert to unsigned, &
with 0xFFFF_FFFF
AND
The & operator: Bitwise AND.
OR
The [ | ](https://ruby-doc.org/core-2.5.0/Integer.html#method-i-7C) operator: Bitwise OR. |
XOR
The [^](https://ruby-doc.org/core-2.5.0/Integer.html#method-i-5E) operator: Bitwise EXCLUSIVE OR.
Shift
The « operator: shift left.
The » operator: shift right.
String Representation
The to_s(base=10) method. 3.to_s(2) => "11"
Example Code
The examples.rb file wraps up demonstrations of all these features in a set of tests. Not very exciting to run!
$ ruby examples.rb
Run options: --seed 42933
# Running:
.......
Finished in 0.001204s, 5813.9542 runs/s, 6644.5191 assertions/s.
7 runs, 8 assertions, 0 failures, 0 errors, 0 skips