6 ms·
The "limits.h" (ISO C99 Standard) defines UINT_MAX as the maximum value for a variable of type unsigned int which is 4294967295 (0xffffffff).
by senki 16y ago
The "limits.h" (ISO C99 Standard) defines UINT_MAX as the maximum value for a variable of type unsigned int which is 4294967295 (0xffffffff).
- sfk 16y agoSigh: "The contents of the header <limits.h> are given below, in alphabetical order. The minimum magnitudes shown shall be replaced by implementation-defined magnitudes with the same sign." #define UINT_MAX 65535 Key here is implementation-defined, with a minimum of 65535.
- senki 16y agoPlatforms differ, and the limits.h reflects this, that's the point. We should use the abstractions (the #defines) of the standard library, i.e. refer to these values by their names, that's the way to write portable software.
- protomyth 16y agoI always though that was set by the vendor correctly. Oh well.. I always liked the definition of true in Forth (all bits set to 1). It really made it a lot easier.
- tedunangst 16y agoThe standard doesn't require that an int use all of the bits of storage it takes. A hypothetical 33-bit machine may present a C environment where ints are 32-bits, with the extra bit unused (and unset).