stl源码剖析的第61页有上面的位运算,不过我不了解,求证明。
闭关修行中......
7 = 00000111b& はビット単位の ANDなので、x&7 には x の下位 3 ビットのみが含まれます。
~7 = 11111000b
したがって、x&~7 は x の下位 3 ビットを 0 に設定します。これは 8 の倍数です。
(x+n-1)&(n-1)、x を x の n の倍数よりわずかに大きくします。ただし、n は 2^m でなければなりません。2^m-1 のみが型を持つため、上位ビットは 1 でなければならず、下位ビットは 0 でなければなりません。 、交差していません。
(x+n-1)&(n-1)
2^m-1
サブネットマスク サブネットマスク
7 = 00000111b
& はビット単位の AND
なので、x&7 には x の下位 3 ビットのみが含まれます。
~7 = 11111000b
したがって、x&~7 は x の下位 3 ビットを 0 に設定します。これは 8 の倍数です。
(x+n-1)&(n-1)
、x を x の n の倍数よりわずかに大きくします。ただし、n は 2^m でなければなりません。
2^m-1
のみが型を持つため、上位ビットは 1 でなければならず、下位ビットは 0 でなければなりません。 、交差していません。サブネットマスク サブネットマスク