Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
1LLと-1LLが正確に何であるか誰か教えてください。それらが使用された行は次のとおりです。
#define All_In(G) (((G) == 64) ? (W64)(-1LL) : ((1LL << (G))-1LL))
Gマクロの目的は、最下位ビットが設定され た整数を生成することのようです。All_In(1)==1、、、All_In(2)==3などAll_In(3)==7。
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
それが何であるかわからない場合は、ビットシフト
LL は LongLong の略で、少なくとも 64 ビットを意味します。