En ce qui concerne, et à l'appui de la réponse de @vincent Osinga .. Voici ce code, enveloppé dans une fonction C .. qui retourne la « chaîne » binaire à partir d'un NSUInteger .. parfait pour de l'exploitation forestière au niveau du bit de typedef, etc.
- (NSString*) bitString:(NSUInteger) mask{
NSString *str = @"";
for (NSUInteger i = 0; i < 8 ; i++) {
// Prepend "0" or "1", depending on the bit
str = [NSString stringWithFormat:@"%@%@",
mask & 1 ? @"1" : @"0", str];
mask >>= 1;
}
return str;
}
Je ne pense NSInteger numberCopy = theNumber;
est nécessaire que vous n'êtes pas l'aide d'un pointeur, mais simplement la valeur primitive comme argument, // so you won't change your original value
. Cela permettra une utilisation comme/résultats de rendement comme ...
NSEventType anEvent = NSLeftMouseUp|NSLeftMouseDown;
NSLog(@"%@, %u\n%@, %u\n%@, %u\n%@, %u",
bitString(NSScrollWheel), NSScrollWheel,
bitString(NSLeftMouseUp|NSLeftMouseDown),
NSLeftMouseUp|NSLeftMouseDown,
bitString(anEvent), anEvent,
bitString(NSAnyEventMask), NSAnyEventMask);
NSLog ➞
00010110, 22 /* NSScrollWheel */
00000011, 3 /* NSLeftMouseUp | NSLeftMouseDown */
00000011, 3 /* same results with typedef'ed variable */
11111111, 4294967295 /* NSAnyEventMask */
solution idéale pour les valeurs de masque de bit d'enregistrement –