La CPU non ne sa nulla, glielo dice il codice cosa deve fare; a seconda del tipo su cui effettuare l'operazione c'è un opcode diverso. Ad esempio, su x86 ci sono un tot di ADD/SUB diversi per gli interi (a seconda delle dimensioni e dell'origine degli operandi), MUL/IMUL e DIV/IDIV a seconda se si tratta di interi con o senza segno e un set di istruzioni completamente separato (x87 o i vari SSE) per i numeri in virgola mobile.
I tipi vengono esplicitamente associati alle variabili solo nei linguaggi interpretati e/o a tipizzazione dinamica, ovvero quando è necessario sapere a runtime qual è il tipo della variabile.