Sottrazione per complemento

Niente fonti!
Questa voce o sezione sull'argomento matematica non cita le fonti necessarie o quelle presenti sono insufficienti.
Particolare di tastiera predisposta per sottrarre tramite complemento (1910 circa)

La sottrazione per complemento era il metodo utilizzato per eseguire la sottrazione e la divisione con le addizionatrici meccaniche più semplici.

Tali macchine mancavano di un apposito meccanismo di sottrazione. Per eseguire l'operazione ( a b ) {\displaystyle (a-b)} , l'operatore sommava ad a {\displaystyle a} la quantità ( 10 n b ) {\displaystyle (10^{n}-b)} , il cosiddetto complemento di b {\displaystyle b} a 10 n {\displaystyle 10^{n}} , dove n {\displaystyle n} è il numero massimo di cifre rappresentabili sull'addizionatrice.

In pratica, la sottrazione per complemento si effettua sommando al minuendo un addendo formato dal complemento a 10 della cifra significativa (non nulla) di ordine più basso del sottraendo e il complemento a 9 di tutte le cifre (del sottraendo) alla sua sinistra.

Per semplificare il lavoro degli operatori, sui tasti delle antiche addizionatrici veniva indicato più in grande il loro valore per la somma e, più in piccolo, il complemento a 9. Alcune addizionatrici avevano anche un dispositivo che evitava di dover sommare i 9 iniziali.

L'utilizzo del complemento per effettuare le sottrazioni non è ovviamente limitato ai numeri rappresentati in base decimale e veniva applicato anche ad addizionatrici prodotte per operare con valute o unità di misura non decimali. Nella programmazione degli attuali calcolatori elettronici viene ampiamente usato il complemento a due con finalità simili.

Sottrazione

Per capire il funzionamento di questo metodo di calcolo, si pensi di operare con un'addizionatrice in grado di eseguire solo somme (ad es. Comptometer) e in grado di lavorare con solo 5 cifre. Inserire un numero che termina con più di 5 zeri (nell'esempio 100.000) equivale a non inserire nulla, in quanto sulla addizionatrice entrerebbero solo gli zeri finali. Nella terminologia introdotta successivamente dall'Informatica si verifica un overflow, senza particolari conseguenze negative, tranne la perdita delle cifre significative.

Tale caratteristica può essere però sfruttata per sottrarre. Infatti su un'addizionatrice con 5 cifre,

a b = a + ( 0 b ) = a + ( 100000 b ) {\displaystyle a-b=a+(0-b)=a+(100000-b)}

in quanto nell'aritmetica dell'addizionatrice 100000 = 0 {\displaystyle 100000=0} . Ciò permette di sommare 100000 b {\displaystyle 100000-b} (complemento di b {\displaystyle b} a 100000 {\displaystyle 100000} ) invece di sottrarre b {\displaystyle b} , operazione che la macchina non è in grado di compiere. Ad esempio,

77 17 = 77 + ( 100000 17 ) = 77 + 99983 = 100060 = 60 {\displaystyle 77-17=77+(100000-17)=77+99983=100060=60}
789 160 = 789 + ( 100000 160 ) = 789 + 99840 = 100629 = 629 {\displaystyle 789-160=789+(100000-160)=789+99840=100629=629}

in quanto la cifra 1 {\displaystyle 1} iniziale dei risultati non può apparire sul totalizzatore, il dispositivo su cui viene rappresentato il risultato, che ha solo 5 cifre.

Divisione

La divisione sulle calcolatrici meccaniche avveniva per sottrazioni successive. Nelle macchine più complesse l'operazione era quasi completamente automatizzata. Su quelle in cui perfino la sottrazione non era "diretta", ma per complemento, si doveva ricorrere a degli accorgimenti semplici, ma non banali, per rendere "semi-automatico" il lavoro dell'operatore.

Ad esempio, l'operazione

255 : 12 = 21 {\displaystyle 255:12=21} con il resto di 3 {\displaystyle 3}

si sarebbe svolta nel seguente modo:

Risultato sullo schermo Operazione
_ 255 {\displaystyle 255} Si imposta 255 lasciando almeno una colonna libera alla sua sinistra
0 , 255 {\displaystyle 0,255} Si pone il cursore che indica la virgola nella posizione davanti alla prima cifra del dividendo
0 , 88 {\displaystyle 0,88} Si sottrae ripetutamente 12. Ossia si somma 88 = 100 12 {\displaystyle 88=100-12} (complemento a 100 di 12).
1 , 135 {\displaystyle 1,135} Sul totalizzatore il numero davanti alla virgola viene incrementato di 1 ad ogni passaggio (è il riporto della somma) mentre le cifre dopo la virgola rappresentano il resto.
0 , 88 {\displaystyle 0,88}
2 , 015 {\displaystyle 2,015}
20 , 15 {\displaystyle 20,15} Quando il resto nelle prime due colonne diventa inferiore a 12, sposto di una posizione verso destra la virgola e le colonne su cui sommo 88
_ 0 , 88 {\displaystyle 0,88}
21 , 03 {\displaystyle 21,03} Alla fine sul totalizzatore si legge 21 , 03 {\displaystyle 21,03} , dove le cifre prima della virgola rappresentano il quoziente (21) e quelle successive il resto (3).

Si sarebbe potuta continuare l'operazione per ottenere un quoziente con una o più cifre decimali. Le variazioni sono facilmente intuibili: basta utilizzare una seconda virgola sul totalizzatore.

Voci correlate

  • Calcolo meccanico
  • Comptometer
  Portale Matematica: accedi alle voci di Wikipedia che trattano di matematica