for loop not iterate more than 800000

hi,

i wrote a simple FOR LOOP  program in cocoa-objective c   (MAC os- compiler XCode). but it not working properly. the loop iterating  only upto some value near to 714300( value change each time running). program is given below.

#import <Cocoa/Cocoa.h>

int main(int argc, char *argv[])
{
   unsigned long long i=1;
   
   for(i=1;i!=0;++i)
            printf("%llu\n",i);

      printf("finished");
      //printf("\n%llu",i++);
      
      //printf("\r%llu",i);
      
       return NSApplicationMain(argc,  (const char **) argv);
}


if first printf statement is replaced as printf("%llu-",i); it iterate beyond 1000000 but it run very slowly( take nearly one hour to reach 1000000). what is the problem with this program.



tariq6000Asked:
Who is Participating?
 
fridomConnect With a Mentor CEO/ProgrammerCommented:
I doubt it needs that long to iterate that number of iterations. But an unsigned long long maximum is:
18446744073709551615ULL
And that's really large number. You just reach a 0 after that many iteratoins
I suggest you write:

for ( i = 0; i < 10000000ULL; i++) {
  ....

if it's wise to printf for every number that often is another question....

Regards
Friedrich
0
 
peetmCommented:
What compiler are you using?

On my system, ULONG_LONG_MAX is 4,294,967,295

Therefore I'd expect my system to get rather 'warm' running your app here.


0
 
tariq6000Author Commented:
now  i am using mac mini -Tiger 10.4


compiler is Xcode
0
 
peetmConnect With a Mentor Commented:
On my machine

   for(; i < 10000000; )
   {
        ++i;
   }

takes around 50ms on average - a printf in the loop would add ages of course.

If the max value of an UUL is 18446744073709551615 on your implementation, the entire loop --

   for(; i < 18446744073709551615ULL; )
   {
        ++i;
   }

1844674407370 lots of 50ms to run - that's 92233720368547 ms, or - well, it's lots of time!  And that's without the printf calls!

My timing was just a crude couple of GetTickCount calls, so might not be super accurate.  And, please check my sums - watching the football as well as writing.
0
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

All Courses

From novice to tech pro — start learning today.