为什么3,758,096,384<< 1给768

时间:2012-10-14 01:33:56

标签: javascript bit-manipulation bit-shift

阅读Absolute Beginner's Guide to Bit Shifting?的好答案后 我测试了索赔(原文如此):

3,758,096,384 << 1
来自Chrome控制台的

3,758,096,384 << 1

> 768

3,758,096,384 << 2

> 1536

3758096384 << 1

> -1073741824

2 个答案:

答案 0 :(得分:9)

它返回768,因为您错误地使用了逗号运算符。 3,758,096,384 << 1实际上是384 << 1,因为逗号运算符将返回最后一个操作数。

答案 1 :(得分:7)

那是逗号运算符。它实际上是384 << 1。 (逗号运算符计算其左侧,然后计算其右侧,并返回右侧。)