An example is Unisys mainframes, where int has 48 bits, but only 40 are represented in the value representation (and INT_MAX is 2 ^ 39-1); others should be 0. I assume that any machine with an architecture tag will have similar problems.
EDIT:
Just some additional information: Unisys mainframes are probably the only remaining architectures that are truly exotic: Unisys Libra (ex-Burroughs) have a 48-bit word, use signed values ββfor integers and have a tagged architecture where the data itself contains information about its type . Unisys Dorado is ex-Univac: 36 bits of one padding (but no reserved bits for tags) and 9 bits of char.
From what I understand, however, Unisys terminates them (or shook them last year) in favor of the Intel system. As soon as they disappear, almost all systems will be 2, 32 or 64 bits, and all but the mainframe IBM will use the IEEE floating field (and IBM is moving or moving in that direction as well). Thus, there is no motivation for the standard to continue with special wording to support them; after all, after a couple of years in lesat, C / C ++, maybe follow the Java path and overlay the view with all its basic data types.
James Kanze Oct 07 '14 at 17:27 2014-10-07 17:27
source share