![]() |
|
#16
|
|||
|
|||
|
Quote:
Let's assume carac2 enters the loop with 1000. After line 1, let's say 1050. Line 2 will produce 50, line 3 will produce 10. In the second iteration, line 1 might give 67 (added 57 this time), line 2 = 57, line 3 = ..... 0. Each iteration adds a (small) amount to carac2, then shifts it right by 2 decimal places, eventually resulting in 0. Does it not?
|
|
#17
|
|||
|
|||
|
In the second iteration, line 1 might give 67 (added 57 this time), line 2 = 57, line 3 = ..... 0.
DAMN... DAMN... DAMN ONE MORE TIME. It is me who should go and study comp.sci. This is the integer arithmetic... Fuck. OK, carac2 = carac2 + resultat[cpt3] ; (1) - you say, for example, carac2 will be 67. OK. Fine. Then: resultat[cpt3] = carac2 % 100 ; (2) the operation "%" in C/C++ is the same as mod in number theory. So, 67 mod 100 = 67 - not 57 as you are trying to say if I understood you properly, of course... Then: carac2 = carac2 div 100 -> carac2 = 67/100 - this is normally not 0, of course, BUT this is computer arithmetic and the result is rounded up, so it will be floor(67/100) which is 0 indeed. So you are partially right and I'm wrong. My bad. |
|
#18
|
|||
|
|||
|
Of course line (2) will result in 67, my mistake
67 % 100 -> 67 67 / 100 -> 0 (integer) Now one other strange thing in the algo - where do the "resultat[cpt3]" values come from? |
![]() |
|
|
Similar Threads
|
||||
| Thread | Thread Starter | Forum | Replies | Last Post |
| Help identify crypto | The Old Pirate | General Discussion | 5 | 12-27-2014 04:15 |