Why does 3,758,096,384 << 1 give 768

前端 未结 2 630
天命终不由人
天命终不由人 2021-01-23 15:06

After reading the great answer for Absolute Beginner\'s Guide to Bit Shifting? I tested the claim (sic):

3,758,096,384 << 1

from Chrome

相关标签:
2条回答
  • 2021-01-23 15:41

    That's the comma operator at work. It's actually 384 << 1. (The comma operator evaluates its left hand side, then evaluates its right hand side, and returns the right hand side.)

    0 讨论(0)
  • 2021-01-23 15:52

    It returns 768 because you're incorrectly using the comma operator. 3,758,096,384 << 1 will actually be 384 << 1 because the comma operator will return the last operand.

    0 讨论(0)
提交回复
热议问题