ビットパターンの出現数
昼休みにソフト部隊の友人と話していて、例えば32-bit中にバイナリで '10'とかのパターンが何度出てくるかを数えるプログラムってどうする?と聞かれた。
「ほへ? シフトして縦に並べたら各列が検査列になるから、あとはパターンに合わせて反転してANDとれば?」とか答えたら「うわーハード屋らしい発想だなー」とか言われた。そうかなーーー??? 誰でも思いつくんでないの?
例えば'10110010100110110010100110110111'に 110 が何回でてくるか
10110010100110110010100110110111 10110010100110110010100110110111 10110010100110110010100110110111
んで pos, pos, negだよね
10110010100110110010100110110111 10110010100110110010100110110111 01001101011001001101011001001000 ---------------------------------- 00001000000001001000000001001000
であとは
http://d.hatena.ne.jp/tkuro/20061202/1165030513
みたいなのでビットの数え上げしたら一発とゆー。