Brunello: non credo che il delay c'entri qualche cosa ... :
... quello che è sicuro che se moltiplichi il risultato BYTE di una funzione per 256, di sicuro vai in OVERFLOW !
... mmm ... effettivamente, essendo la destinazione un tipo "int" ... probabilmente il compilatore fa da solo il casting di numero1 e numero2 : ... ma NON giurerei che funziona nel 100% dei possibili casi, specie con mix di operazioni.
Per sicurezza un "cast" in più non fa mai male ...
Ho trovato la spiegazione ... ;D
... per le variabili di tipo intero, effettivamente, il compilatore fa una "type promotion" (byte -> int) in base alla variabile di destinazione, ma ... come dicevo ... questo NON è affatto vero sempre e basta che la destinazione sia un "float" e tale "type promotion" non avviene ...
int a = 10000;
int b = 5000;
float c;
c = (a * 10) + b;
... prova questa e ... divertiti a vedere che risultato da
Da cui ... in caso di tipi misti, NON fidatevi ed usate sempre il "cast", eviterete brutte sorprese.