How can I compute the range of signed and unsigned types
James Cownie
jcownie at etnus.com
Wed Apr 18 06:19:11 PDT 2001
Jag wrote : -
> Those sizes are defined for the C language. In order words, no
> matter if you're on a 32-bit machine or a 64-bit machine, an int is
> always going to be 32-bit and thus have the same numeric range
> because the standards say so. This goes for all the basic types,
> not just int's.
No, the C standard says nothing of the sort.
All the C standard says is that
1) sizeof (char) == 1
2) sizeof (short) >= sizeof (char)
3) sizeof (int) >= sizeof (short)
4) sizeof (long) >= sizeof (int)
5) sizeof (long long) >= sizeof (long).
It also does not specify that the representation of an int is two's
complement, so even on machines with the same sizeof(int) the legal
ranges could differ.
-- Jim
James Cownie <jcownie at etnus.com>
Etnus, LLC. +44 117 9071438
http://www.etnus.com
More information about the Beowulf
mailing list