>>67
32bitだとして0xffffffffは INT_MAX の 0x7fffffff を超えている
つまり The value cannot be represented in new signed type だ
本当は -1 を返して欲しいんだろうけどその保証はない