02/07/29 00:07
>>129
ぶっちゃけそこだけ見てもワカラン。
なんとなく答えると
まず質問2.は、unsigned long型は全部で32ビットある。だから32。
質問1.は、UNIT_MAXを(32-gBit_num)ビットだけ左にシフトしている。
左に移った分右のビットが空く。そこには0が入る。
たぶんUNIT_MAXは2進であらわすと32ビット全部が1になっているんだと思う(コード見ないと
わからないけど)。これを(32-gBit_num)ずらして、ずれてあいたところに0を入れるのだから
結果的にこの32ビットは
00....0000000 |1111...11
(32-gBit_num) |gBit_num
という風に、まず(32-gBit_num)個のゼロが並んで、次にgBit_num個の1が並ぶ形になる。
この値がgBit_numビットを使った二進数であらわす最大の整数(geneUnit_max)になる。
質問3.はソース見ないとわからないが。マスクとかじゃないの?交叉とかして
上にはみ出たビットを削るとか。