繁体   English   中英

使用<<操作符到数组中的特定索引中时发生意外行为

[英]Unexpected behavior using the << operator into a specific index in an Array

如果通常使用铲操作符将元素追加到数组中,那么可以期待以下内容:

stack  = [6,7]
result = stack << 9

result[6,7,9]

但是,如果我有:

overflow = [6,7]
result   = overflow[1] << 3

然后result56

我尝试了许多不同的数字和组合,但是似乎没有任何一致性。 有什么想法吗?

<< 也是 左移运算符

真的是说

result = 7 << 3

评估结果为56。

http://en.wikipedia.org/wiki/Bitwise_operation

当你做的时候

stack  = [6,7]
result = stack << 9

您实际上是在最后将元素9附加到数组stack 这就是为什么您获得修改后的数组。 但是当你使用

overflow = [6,7]
result   = overflow[1] << 3

实际上,您首先要从数组中获取第1th元素,然后将位的位置向左移动3位置。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM