5 ms·
two things wrong with your statement: - the ++ operator only acts on integer types, not floats or doubles, so there is no limit to speak of here - the express
by xdavidliu 4y ago
two things wrong with your statement:
- the ++ operator only acts on integer types, not floats or doubles, so there is no limit to speak of here
- the expression "C++" has value equal to C before incrementing, hence the expression "C/C++" is just one for positive C, even when C is small
- bee_rider 4y agoSo, luckily my mistakes cancel out -- C/C++ = 1 always, so it must also in the limit. Once we figure out how to define limit.
- Iwan-Zotow 4y ago> the ++ operator only acts on integer types no, I believe it works on pointer types and enums as well
- bee_rider 4y agoIt is also defined for floats. Using it seems like a bad move though -- for large values it can round back to the input value. Indeed, the following stupid test program works, although it may heat up your laptop slightly. #include <stdio.h> void main() { float C = 1.0f; float Cin = 0.0f; int i=0; while (Cin != C) { i++; Cin = C; C++; } printf("%i %e\n", i, C/C++); } And, it finally lets us confirm what the mathematicians never could. When does the limit happen? 16777216. No further questions.
- bee_rider 4y agoHey, wait a minute, ++ is defined for floats. It might be a bad idea to use it in many cases (since there are values for which the result is just rounded back to the original value), but it works!