3-bajtowy int i 5-bajtowy?

Czy zezwalają na to wszystkie standardy C i C ++sizeof typów liczbowychnie być potęgą dwóch?

Znane są następujące ograniczenia:

16 <= CHAR_BIT * sizeof(int) <= CHAR_BIT * sizeof(long)32 <= CHAR_BIT * sizeof(long) <= CHAR_BIT * sizeof(long long)i tuzin innych, co oznacza typową architekturę 8-bitową2 <= sizeof(int) && 4 <= sizeof(long)

Czy to znaczy tosizeof(int) == 3 && sizeof(long) == 5 to jest prawidłowe zachowanie?

Jeśli tak - czy istnieje jakiś znany kompilator / architektura zachowujący się w podobny sposób?

questionAnswers(4)

yourAnswerToTheQuestion