(bit-shift-left 0xfffffff0 4)
returns 0xffffff0f
, while I expect it to be 0xffffff00
. Similarly, (bit-shift-left 0xfffffff0 8)
returns 0xfffff0ff
, etc.
I checked the implementation, and bit-shift-left
casts all its arguments to Long
, then invokes Java's <<
operator, which should discard higher bits instead of rotate them.