Re: beginner question, NSNumber, NSDecimalAsNumber
Re: beginner question, NSNumber, NSDecimalAsNumber
- Subject: Re: beginner question, NSNumber, NSDecimalAsNumber
- From: Alastair Houghton <email@hidden>
- Date: Mon, 9 Nov 2009 17:32:05 +0000
On 9 Nov 2009, at 17:20, Thomas Wetmore wrote:
I offer the following as a "Cocoa solution" to the OP's query,
whatever that might be taken to mean...
(For extra credit: why must the parameter be unsigned?)
Tom Wetmore
NSString* binaryRepresentation (NSUInteger number)
{
unichar buffer[64];
NSUInteger n = 0;
while (number) {
buffer[n++] = (number & 1) + '0';
number >>= 1;
}
NSInteger i = 0, j = n - 1;
while (i < j) {
unichar temp = buffer[j];
buffer[j] = buffer[i];
buffer[i] = temp;
i++, j--;
}
return [NSString stringWithCharacters: buffer length: n];
}
Surely
NSString *binaryRepresentation (NSUInteger number) {
unichar buf[64];
unichar *ptr = buf + 64;
do {
*--ptr = (number & 1) ? '1' : '0';
} while ((number >>= 1));
return [NSString stringWithCharacters:ptr length:buf + 64 - ptr];
}
is simpler, as well as actually working when you pass in 0 (yours
doesn't). (I should add that I haven't tested this at all; I just
wrote it in Mail.app...)
Kind regards,
Alastair.
--
http://alastairs-place.net
_______________________________________________
Cocoa-dev mailing list (email@hidden)
Please do not post admin requests or moderator comments to the list.
Contact the moderators at cocoa-dev-admins(at)lists.apple.com
Help/Unsubscribe/Update your Subscription:
This email sent to email@hidden