在Ruby中,铲形运算符(<;<;)如何处理两个整数?

在Ruby中,铲形运算符(<;<;)如何处理两个整数?,ruby,integer,operator-keyword,Ruby,Integer,Operator Keyword,我是一个初学者/中级Ruby学习者,我做了一些我不懂的事情。我环顾四周stackoverflow,但找不到一个清晰、简洁的答案,因此我提出了一个新问题 如果给定一个数字a和b,当r等于: a << b a取决于您的Ruby版本,integer可能会继承该操作称为“按位左移位”,很容易用这个术语进行搜索 简而言之,它采用LHO的二进制表示形式,并通过计数将其向左移动,指定为RHO 假设你有5换一种说法:5@tadman我相信它和我在最后一段中所说的完全一样:m完全一样。我只是觉得R

我是一个初学者/中级Ruby学习者,我做了一些我不懂的事情。我环顾四周stackoverflow,但找不到一个清晰、简洁的答案,因此我提出了一个新问题

如果给定一个数字a和b,当r等于:

a << b 

a取决于您的Ruby版本,integer可能会继承
该操作称为“按位左移位”,很容易用这个术语进行搜索

简而言之,它采用LHO的二进制表示形式,并通过计数将其向左移动,指定为RHO


假设你有
5换一种说法:
5@tadman我相信它和我在最后一段中所说的完全一样:m完全一样。我只是觉得Ruby符号可能也有教育意义。太好了!这是有道理的。谢谢你的回复。现在唯一的事情是引导我学习更多关于64位的知识,以及它如何影响按位左移位操作器。64位(这里它是硬件平台架构的)不会影响按位移位,它影响二进制表示中的零和数。露比,像C++一样,使用<代码>酷,谢谢你提供的额外资源
0000 0000 0000 0101
00 0000 0000 0101 00 # = 0000 0000 0001 0100
5 << 2
#⇒ 20
m << n ≡ m × 2ⁿ

5 << 4 #⇒ 5 × 2⁴ ≡ 80
#⇒ 80