x86で32bit中の立ってるビット数を数える命令ってありませんか?
例えば0x01234567だったら12という風に。