NSInteger binary (Zeichenkette) Wert in einen 8-bit-format
Jarret Hardie (danke !) poste diesen code gestern zu konvertieren NSinteget auf binäre und funktioniert perfekt, aber ich brauche im 8bit format:
4 -> 00000100
irgendwelche Ideen, um diesen code ändern?
//Original author Adam Rosenfield... SO Question 655792
NSInteger theNumber = 56;
NSMutableString *str = [NSMutableString string];
for(NSInteger numberCopy = theNumber; numberCopy > 0; numberCopy >>= 1)
{
//Prepend "0" or "1", depending on the bit
[str insertString:((numberCopy & 1) ? @"1" : @"0") atIndex:0];
}
NSLog(@"Binary version: %@", str);
Dank !!!!!!
Du musst angemeldet sein, um einen Kommentar abzugeben.
Sollte dies funktionieren:
Wenn jemand interessiert ist, hier ist meine version:
Snippet:
sizeof(mask) * 8
stattsizeof(mask)
da sizeof() gibt die bytes, und Sie möchten bits 😉In der Referenz und in der Unterstützung von @vincent osinga Antwort.. Hier ist, dass code, verpackt in eine C-Funktion.. dass die Rendite der binären "string" aus einer NSUInteger.. perfekt für die Protokollierung bitweise typedef ' s, etc.
Ich nicht denke
NSInteger numberCopy = theNumber;
ist notwendig, da Sie keine Zeiger, sondern nur die primitiven Wert als argument//so you won't change your original value
. Dies ermöglicht den Einsatz als /Ertrag ergibt sich wie...NSLOG ➞