2010-11-17 4 views

Répondre

2
long bitField = 0; 

foreach (int bit in intArray) 
    bitField |= 1l << (bit - 1); 

Cette réponse suppose des nombres de bits basés sur 1 selon votre question. Si vous souhaitez que 0 se réfère au premier bit, changez simplement (bit - 1) en bit.

+0

Une alternative: 'long bitField = intArray.Aggregate (0l, (a, x) => a | (1l << (x - 1)));' – LukeH

Questions connexes