3 bytes int y 5 bytes de largo?
¿Cada uno de los estándares de C y C ++ permitesizeof
de tipos numéricosno ser un poder de dos?
Se conocen las siguientes restricciones:
16 <= CHAR_BIT * sizeof(int) <= CHAR_BIT * sizeof(long)
32 <= CHAR_BIT * sizeof(long) <= CHAR_BIT * sizeof(long long)
y una docena de otros, que en una arquitectura típica de bytes de 8 bits significa2 <= sizeof(int) && 4 <= sizeof(long)
Eso significa quesizeof(int) == 3 && sizeof(long) == 5
¿Es un comportamiento válido?
En caso afirmativo, ¿existe algún compilador / arquitectura conocido que se comporte de manera similar?