Um detalhe importante sobre sua descrição dos tipos numéricos, por exemplo o integer, é que ele não armazena "até 4 bytes de tamanho".

Independente do valor, ele sempre vai acomodar o integer em 4 bytes. Ou seja, mesmo que seja o número zero, um espaço de 4 bytes sempre será usado.

Uma descrição mais precisa seria:

integer: armazena valores inteiros com sinal com 4 bytes de tamanho, cujos valores variam de -2147483648 até +2147483647.

Eu peguei o integer como exemplo, mas esta observação vale para os outros tipos numéricos que vc descreveu.

                                                           |

Muito obrigado pelo comentário, amigo.

Na verdade, minha ideia era dizer que o tamanho máximo que um número pode assumir com esse tipo é o tamanho que 4 bytes consegue armazenar, mas eu entendi que ficou ambíguo. Vou corrigir.