4

1LLと-1LLが正確に何であるか誰か教えてください。それらが使用された行は次のとおりです。

#define All_In(G) (((G) == 64) ? (W64)(-1LL) : ((1LL << (G))-1LL))
4

4 に答える 4

5

Gマクロの目的は、最下位ビットが設定され た整数を生成することのようです。All_In(1)==1、、、All_In(2)==3などAll_In(3)==7

疑似コードでは、マクロは次のように言っています。

if G == 64
    produce -1
else
    produce (1 bitshifted left by G) - 1

それが何であるかわからない場合は、ビットシフト

于 2013-08-28T23:07:14.707 に答える
3

LL は LongLong の略で、少なくとも 64 ビットを意味します。

于 2013-08-28T22:53:28.433 に答える