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?