标签: ruby
两个整数之间的铲运算符如何导致返回值?
irb(main):001:0> 5 << 7 => 640
答案 0 :(得分:8)
这是一个左移运算符,您可以使用二进制表示法更容易地看到它:
5 << 7 # => 640 5.to_s(2) # => "101" (5 << 7).to_s(2) # => "1010000000"
注意额外的7 0位。
0
答案 1 :(得分:5)
这是一个按位转变:
640 = 5 * (2^7)