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
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.)
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.
©2020 All rights reserved.