On Sep 28, 2021, at 1:43 PM, Vincent Slyngstad via
cctalk <cctalk at classiccmp.org> wrote:
On 9/28/2021 5:14 AM, Toby Thain via cctalk wrote:
On 2021-09-27 11:46 p.m., ben via cctalk wrote:
POSIX requires a byte to be exactly 8 bits I read
somewhere.
C99 C standard?
Great for ARM and INTEL, not so great for the 36 bit computers.
We've been
through this before. No.
As I understand things, POSIX does require the existence of 8 bit bytes, (int8_t and
uint8_t) and requires them to be exactly 8 bits. It does not AFAIK explicitly prohibit
the existence of bytes with other sizes, but who would bother?
The C standards are more liberal, and continue to require char types to be 8 or more
bits.
You're mixing up two unrelated things. int8_t is an integer type of 8 bits width.
char is the type used for characters. While in many machines they are the same size, that
isn't required.
C compilers have been built for machines with non-8 bit characters, from the CDC 6600 to
the PDP-10 and Cray-1 and various DSPs. GCC at one time (some of them still, I think)
handled all these except the 6600.
paul