>>64
ISO C++では、otherwise its type is implementation-defined
と int でない可能性も含んでいますね。