あるハミング距離までに含まれるバイナリハッシュの数を計算する

バイナリ長 n = 4で考えると、
ハミング距離0 → {\small 4}C{\small 0} = 1
[0 0 0 0]
ハミング距離1 → {\small 4}C{\small 1} = 4
[0 0 0 1]
[0 0 1 0]
[0 1 0 0]
[1 0 0 0]
ハミング距離2 → {\small 4}C{\small 2} = 6
[0 0 1 1]
[0 1 0 1]
[0 1 1 0]
[1 0 0 1]
[1 0 1 0]
[1 1 0 0]
ハミング距離3 → {\small 4}C{\small 3} = 4
[0 1 1 1]
[1 0 1 1]
[1 1 0 1]
[1 1 1 0]
ハミング距離4 → {\small 4}C{\small 4} = 1
[1 1 1 1]


というわけで、長さがnのとき、バイナリハミング距離s以内に含まれるバイナリハッシュの数は  \sum^s_{i = 0} {\small n}C{\small i}

1byte = 8bitの全通りを考えると、1 + 8 + 28 + 56 + 70 + 56 + 28 + 8 + 1 = 256、合ってるようです。