プログラミング

おれバカかも知れん。
2^i =(0,0,...,0,1,0,...,0)_2となる32ビットのマスクを作るのにJava

for (int i = 0 ; i < 32 ; i++ ){
    int m[i] = 2 ^ i;
}

って書いてしまってた。
あほですね。
あえて述べるが

^

はXORのビット演算子です。
32ビットのCPUワード長のマスクフィルタを作る場合は以下のようにします。

m[0] = 1;
for (int i = 0 ; i < 31 ; i++ ){
    int m[i+1] = 2 << i;
}