为什么a [0]返回1,而a [1]返回0,依此类推?

时间:2019-11-12 08:31:05

标签: ruby

我刚刚在测验中发现一个问题,我注意到一个变量的奇怪行为:

a = 5
puts a[0]  # Output 1
puts a[1]  # Output 0

有人可以解释一下为什么我得到输出1和0吗?

1 个答案:

答案 0 :(得分:10)

[] for a integer返回二进制表示形式的第n位:

7.downto(0) {|n| print 5[n] }
00000101=> 8

50101的二进制,所以5[0]返回1(首先从右边开始,是最低有效位),然后5[1]05[2]1