Простые типы / Числа / Integer

a = 5  # 0101
b = 6  # 0110

# And
c1 = a & b
# c1 is 4 (0100)

# Or
c2 = a | b
# c2 is 7 (0111)

# Xor
c3 = a ^ b
# c3 is 3 (0011)

# shift right
c4 = a >> 1
# c4 is 2 (0010)

# shift left
c5 = b << 1
# c5 is 12 (1100)

# bits inversion
c6 = ~b 
# c6 is -7 (..1001)

puts "c1 is #{'%.d' % c1}#{'%.04b' % c1}"
puts "c2 is #{'%.d' % c2}#{'%.04b' % c2}"
puts "c3 is #{'%.d' % c3}#{'%.04b' % c3}"
puts "c4 is #{'%.d' % c4}#{'%.04b' % c4}"
puts "c5 is #{'%.d' % c5}#{'%.04b' % c5}"
puts "c6 is #{'%.d' % c6}#{'%.04b' % c6}"