6 ms·
u)int8_t == unsigned char if (u)int8_t exists This alone will make C incompatible with its original platform, PDP/11 where char is either 7 or 9 bits.
by anticensor 8y ago
u)int8_t == unsigned char if (u)int8_t exists
This alone will make C incompatible with its original platform, PDP/11 where char is either 7 or 9 bits.
- lifthrasiir 8y agoBut the current C standard no longer allows a 7-bit byte anyway, as it mandates that CHAR_BIT >= 8.
- anticensor 8y agoSorry, it should have been PDP-10, the point stays the same -still one of the founding architectures of original UNIX. PDP-11 used 16-bit words and 8-bit bytes.
- burfog 8y agoNo, char was 8 bits on the PDP-11, which was a 16-bit little-endian machine. (not middle-endian unless you count the typical compiler being weird with 32-bit values on the 16-bit little-endian hardware) C didn't run on the PDP-7. Being either 7-bit or 9-bit would be a choice for 36-bit hardware. Wikipedia's list of 36-bit hardware is: MIT Lincoln Laboratory TX-2, the IBM 701/704/709/7090/7094, the UNIVAC 1103/1103A/1105 and 1100/2200 series, the General Electric GE-600/Honeywell 6000, the Digital Equipment Corporation PDP-6/PDP-10 (as used in the DECsystem-10/DECSYSTEM-20), and the Symbolics 3600 series.