PowerPoint プレゼンテーション - lecture.ecc.u

sieve[2]
int 3つを96ビッ
トとして使う
sieve[1]
sieve[0]
32ビット
53ビット目
21
32
sieve[53/32=1]の
53%32=21ビット目
iビット目はsieve[i/32]のi%32ビット目
3ビット目を1にセットする
01010101010101010101010101010101
sieve[j]
00000000000000000000000000000001
1
00000000000000000000000000001000
1<<3
|
01010101010101010101010101011101 sieve[j]|(1<<3)
kビット目を1にセットする
sieve[j]|(1<<k)
3ビット目を0にリセットする
10101010101010101010101010101010
sieve[j]
00000000000000000000000000000001
1
00000000000000000000000000001000
1<<3
11111111111111111111111111110111
~(1<<3)
&
10101010101010101010101010100010
sieve[j]&~(1<<3)
kビット目を0にリセットする
sieve[j]&~(1<<k)