ビットパターンの出現数

昼休みにソフト部隊の友人と話していて、例えば32-bit中にバイナリで '10'とかのパターンが何度出てくるかを数えるプログラムってどうする?と聞かれた。
「ほへ? シフトして縦に並べたら各列が検査列になるから、あとはパターンに合わせて反転してANDとれば?」とか答えたら「うわーハード屋らしい発想だなー」とか言われた。そうかなーーー??? 誰でも思いつくんでないの?

例えば'10110010100110110010100110110111'に 110 が何回でてくるか

  10110010100110110010100110110111
 10110010100110110010100110110111
10110010100110110010100110110111

んで pos, pos, negだよね

  10110010100110110010100110110111
 10110010100110110010100110110111
01001101011001001101011001001000
----------------------------------
00001000000001001000000001001000

であとは
http://d.hatena.ne.jp/tkuro/20061202/1165030513
みたいなのでビットの数え上げしたら一発とゆー。