??? 12/21/06 09:37 Read: times |
#129886 - compiler Responding to: ???'s previous message |
Christoph Franck said:
It seems to do some strange things (I compiled it on my PC) that are probably related to the length of an integer on the target system. Yes, I forgot to mention, I used a Win32 compiler (lcc) so int is generous 32 bit (yeah, that's one thing from that "why-I-hate-C" list - one never knows what int means...) - that's long int on a 16-bit (DOS) compiler. You can change the width of output by changing value of n in main (n can be any integer but the resulting output number of bits are in powers of two, that's a property of this generating algorithm - yours or Erik's is more general and would work also for any other number of bits if that would be required). I don't think nested loops are a real problem - these are just trivial for loops. This implementation might not compile too efficiently - I am really not a C-guru to be able to tune it to a particular processor - but I am quite convinced that it can be tuned up significantly by rewriting into asm and I also believe that it is more efficient than moving bits around on almost any platform, being it 8051, PC or anything else. It would be nice to know the comparison of this and your algorithm (sort of a benchmark), speedwise, if it does not mean too much work for you. JW |