>>371
単純に
 foreach(要素の数だけ)
  合計 += 各要素のビット数 * 各要素の出現回数
ってやるんじゃダメなん?

ビット数は必要な精度を満たすなら不動小数点数でも固定小数点数でも良いと思うけど。