cとc++では、値のサイズ以上のビット数、あるいは負の数だけビットシフトすると、未定義動作が発生する。