On 2008 Sep, 14, at 21:31, Nathan Kinsinger wrote:

On Sep 14, 2008, at 10:15 PM, Alex Reynolds wrote:

        NSLog(@"NSUInteger: %d", counter);


The correct type modifier for unsigned integers is %u not %d. Switch it and try again to see what's really happening.

Ah, I believe he'll probably see all positive numbers.

Look at it this way. By definition, an NSUInteger or a unit is always >= 0. I believe that explains all the results.

From a more practical perspective, think of that most significant bit as a 'carry' bit or 'overflow' indicator. You need it to tell when you're greater than all ffff's. Bottom line, I suppose, is to always use signed integers in this type of situation. It seems unfair to be cutting your available range in half, but remember it's only one bit!

_______________________________________________

Cocoa-dev mailing list (Cocoa-dev@lists.apple.com)

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:
http://lists.apple.com/mailman/options/cocoa-dev/archive%40mail-archive.com

This email sent to [EMAIL PROTECTED]

Reply via email to