Le operazioni sui tipi di dati elementari (come int, float e simili) corrispondono quasi esattamente ad istruzioni in codice assembler, per cui nessuno ha scritto del software per fare l'addizione, ma piuttosto è l'hardware (il processore) che "sa" come farlo. Se ti può interessare un'addizione è riconducibile ad una serie di operazioni booleane (AND, OR, NOT, XOR), per cui è possibile costruire un circuito che effettua la somma di due numeri usando solamente porte logiche (e io l'ho fatto, per divertirmi).