Andrew Koenig <ark at research.att.com> writes: > Is it just backward compatibility that keeps 1<<40 from yielding > 1099511627776L as well? I think people do shift operations expecting 32-bit arithmetic.