assert で跳ねるようにして確認してる   (けど1バイトは8bit確定なのだろうか?)

最上位ビットが立ってる状態での右シフトで
1を補ってしまうのを嫌うのに 符号なし にしてるっぽい