Соответствует ли каждый из стандартов C и С++ sizeof
числовых типов не равным двум?
Известны следующие ограничения:
-
16 <= CHAR_BIT * sizeof(int) <= CHAR_BIT * sizeof(long)
-
32 <= CHAR_BIT * sizeof(long) <= CHAR_BIT * sizeof(long long)
- и еще десяток других, которые по типичной 8-битовой архитектуре байта означают
2 <= sizeof(int) && 4 <= sizeof(long)
Означает ли это, что sizeof(int) == 3 && sizeof(long) == 5
является допустимым поведением?
Если да - существует ли какой-либо известный компилятор/архитектура, работающая аналогичным образом?