This is fine: the value is an integer and as a long as it fits, everything works. (If it does not fit, an error results.) This decoupling from the size of the variable gives some flexibility to the encoding: we can expand the type of the integer variable as the software evolves, but still be able to decode old data.