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

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 console:

3,758,096,384 << 1

> 768

3,758,096,384 << 2

> 1536

3758096384 << 1

> -1073741824

Answers:

Answer

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.)

Answer

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.

Tags

Recent Questions

Top Questions

Home Tags Terms of Service Privacy Policy DMCA Contact Us

©2020 All rights reserved.