Possible Duplicate:
Rephrased: list of platforms supported by the C standard
The C standard is very loosely defined: - it covers two's complement, ones' complement, signed magnitude - integers can be of various width, with padding bits - certain bit patterns may not represent valid values.
There is a obvious downside to this: it make portable code harder to write. Does anyone know of platforms for which there are still active development work, but which are
- not 2's complement or
- the integer width is not 32 bits or 64 bits or
- some integer types have padding bits or
- if you worked on a 2's complement machine, the bit pattern with sign bit 1 and all value bits zero is not a valid negative number or
- integer conversion from signed to unsigned (and vice versa) is not via verbatim copying of bit patterns or
- right shift of integer is not arithmetic shift or
- the number of value bits in an unsigned type is not the number of value bits in the corresponding signed type + 1 or
- conversion from a wider int type to a smaller type is not by truncation of the left most bits which would not fit