2 ms·
Uhhh, the mod operator is not the solution to that problem though. In reality you'd only use a mod operator if you were doing things like sorting into 4 column
by mattmanser 12y ago
Uhhh, the mod operator is not the solution to that problem though.
In reality you'd only use a mod operator if you were doing things like sorting into 4 columns or doing an operation on every 3rd thing. And it's not a concept that is introduced at school. Now I try to think of it, I think I only picked up mod when I was learning rounding in my first language and the man page happened to mention modulus at the same time.
- x0x0 12y agoThe mod operator isn't the solution to that problem, but that problem shoves integer division in your face. If a dev sees that and isn't curious enough to understand there is a division operator and a remainder operator, just like when you studied fractions in 3rd grade, I don't know that I want to work with that person. And every dev should have hit the remainder operator at bare minimum when they had a long running loop and wanted to print a status every kth operation, eg for(int i=0; i < 100000000; i++){ // some operation if(i % 100000 == 0) printf("** operating on count %d\n", i); } or when processing a big file, printing every k lines; or when running a slow operation, printing every k seconds; or ...
- mattmanser 12y agoNo, because for most of those problems there's an easy alternative, declare another counter variable and you can just go: z++; if(z>100000) { print x; z=0; } When I was taught maths there was no emphasis on remainders and it certainly wasn't denoted with a % sign. I vaguely remember writing something like 12r3 in primary school. The r meaning remainder. A brief search on SO and lo and behold: http://stackoverflow.com/questions/1504420/c-what-does-the-percentage-sign-mean http://stackoverflow.com/questions/1504420/c-what-does-the-p... Viewed 38,000 times. Every language probably has a similar question.