330 likes | 539 Views
SCACCHIERE DI NEPERO (alle origini dell’aritmetica binaria). by corrado bonfanti - 2009. Antefatto algoritmi aritmetici degli scribi dell’antico Egitto. Algoritmo della moltiplicazione per raddoppio. Un esempio: 237 45 = ?. Algoritmo della moltiplicazione per raddoppio.
E N D
SCACCHIERE DI NEPERO (alle origini dell’aritmetica binaria) by corrado bonfanti - 2009
Antefatto algoritmi aritmetici degli scribi dell’antico Egitto
Algoritmo della moltiplicazione per raddoppio Un esempio: 237 45 = ?
Algoritmo della moltiplicazione per raddoppio Un esempio: 237 45 = ? 1 2 4 8 16 32 64 128 …... Passo 1 Avere a disposizione la tabella (precompilata) delle potenze di 2.
Algoritmo della moltiplicazione per raddoppio Un esempio: 237 45 = ? 1 2 4 8 16 32 64 128 …... 45 Passo 2 Posizionare il moltiplicatore 45 in corrispondenza della potenza di 2 immediatamente inferiore ad esso ……
1-1=0 5-4=1 13-8=5 45-32=13 Algoritmo della moltiplicazione per raddoppio Un esempio: 237 45 = ? 1 2 4 8 16 32 64 128 …... Passo 2 …… e scomporlo sottraendo di volta in volta la potenza di 2 più grande possibile.
Algoritmo della moltiplicazione per raddoppio Un esempio: 237 45 = ? 1 2 4 8 16 32 64 128 …... 1-1=0 5-4=1 13-8=5 45-32=13 237 Passo 3 Posizionare il moltiplicando 237 sulla prima riga ……
237 474 948 1896 3792 7584 Algoritmo della moltiplicazione per raddoppio Un esempio: 237 45 = ? 1 2 4 8 16 32 64 128 …... 1-1=0 5-4=1 13-8=5 45-32=13 Passo 3 …… e raddoppiarlo ripetutamente.
Algoritmo della moltiplicazione per raddoppio Un esempio: 237 45 = ? 1 2 4 8 16 32 64 128 …... 1-1=0 5-4=1 13-8=5 45-32=13 237 474 948 1896 3792 7584 237 948 1896 7584 Passo 4 Scegliere i raddoppi corrispondenti alla scomposizione del moltiplicatore.
237 948 1896 7584 10665 Algoritmo della moltiplicazione per raddoppio Un esempio: 237 45 = ? 1 2 4 8 16 32 64 128 …... 1-1=0 5-4=1 13-8=5 45-32=13 237 474 948 1896 3792 7584 Passo 5 Fare la somma ……
237 948 1896 7584 Algoritmo della moltiplicazione per raddoppio Un esempio: 237 45 = ? 1 2 4 8 16 32 64 128 …... 1-1=0 5-4=1 13-8=5 45-32=13 237 474 948 1896 3792 7584 … ed ecco il risultato: 237 45 = 10665
Corollario Ritorniamo alla scomposizione di 45 …… 1 2 4 8 16 32 64 128 …… 1-1=0 5-4=1 13-8=5 45-32=13
Corollario …… associamo 1 alle righe utilizzate …… 1 2 4 8 16 32 64 128 …... 1-1=0 5-4=1 13-8=5 45-32=13 1 1 1 1
Corollario …… e associamo 0 alle righe non utilizzate. 1 2 4 8 16 32 64 128 …… 1-1=0 5-4=1 13-8=5 45-32=13 1 0 1 1 0 1
Corollario Gli scribi egizi non potevano esserne consapevoli, ma …… 1 2 4 8 16 32 64 128 …… 1-1=0 5-4=1 13-8=5 45-32=13 1 0 1 1 0 1
Corollario Gli scribi egizi non potevano esserne consapevoli, ma …… 1 2 4 8 16 32 64 128 …… 1-1=0 5-4=1 13-8=5 45-32=13 1 0 1 1 0 1 …… sorpresa! Avevano inventato la numerazione binaria, quella che oggi si usa nei computer: 4510= 1011012
Algoritmo della divisione per raddoppio e tentativi Un esempio: 539 : 41 = ? 41 Passo 1 Prendere il divisore 41 ……
Algoritmo della divisione per raddoppio e tentativi Un esempio: 539 : 41 = ? 1 = 2 = 4 = 8 = 16 = …… 41 41 82 164 328 656 Passo 1 …… e raddoppiarlo ripetutamente.
Algoritmo della divisione per raddoppio e tentativi Un esempio: 539 : 41 = ? 1 = 2 = 4 = 8 = 16 = …… 41 41 82 164 328 656 Passo 2 Dalla colonna dei raddoppi, scegliere, per tentativi, i numeri la cui somma S sia minore del dividendo 539 e tale che la differenza 539 - S sia minore del divisore 41.
Algoritmo della divisione per raddoppio e tentativi Un esempio: 539 : 41 = ? 1 = 2 = 4 = 8 = 16 = …… 41 164 328 41 41 82 164 328 656 Passo 3 I numeri che “vanno bene” nel nostro esempio sono quelli trascritti in rosso. (N.B. Si procede per tentativi, ma la soluzione è unica.)
Algoritmo della divisione per raddoppio e tentativi Un esempio: 539 : 41 = ? 1 = 2 = 4 = 8 = 16 = 41 164 328 41 41 82 164 328 656 41 + 164 + 328 = 533< 539 e 539 - 533 = 6 < 41 Passo 3 Infatti, vedi sopra.
Algoritmo della divisione per raddoppio e tentativi Un esempio: 539 : 41 = ? 1 = 2 = 4 = 8 = 16 = 41 164 328 41 41 82 164 328 656 41 + 164 + 328 = 533 < 539 e 539 - 533 = 6 < 41 Il risultato è quindi 539 : 41 = 1 + 4 + 8 = 13 col resto di 6.
Algoritmo della divisione per raddoppio e tentativi Un esempio: 539 : 41 = ? 1 2 4 8 16 41 1 0 1 1 Corollario: 1310 = 11012
Scacchiere binario di Nepero (dalla Rabdologia del 1617)
Dopo più di duemila anni, all’inizio del XVII secolo, Nepero adotta (probabilmente reinventandolo) il metodo egizio per la numerazione binaria. Metodo che è il fondamento dello scacchiere binario.
SCACCHIERE BINARIO DI NEPERO col. 8192 = 213 riga 512 = 29 col. 16 = 24 Ciascuna casella assume un valore diverso a seconda che la si consideri appartenente a una riga in diagonale ( ) oppure a una delle colonne parallele ai lati ( ). Ai bordi di uno scacchiere sono annotate, in ordine crescente dal basso verso l’alto, le potenze di 2
SCACCHIERE BINARIO DI NEPERO Un esempio: 19 13 = ?
SCACCHIERE BINARIO DI NEPERO 19 Un esempio: 19 13 = ? Passo 1 Scomporre il moltiplicando in potenze di 2 ottenendo 19 = 16 [=24] + 2 [=21] + 1 [=20] e impostare la sua rappresentazione posizionando i gettoni nelle caselle appropriate.
SCACCHIERE BINARIO DI NEPERO 13 Un esempio: 19 13 = ? Passo 2 Scomporre il moltiplicatore in potenze di 2 ottenendo 13 = 8 [=23] + 4 [=22] + 1 [=20] e replicare nelle colonne appropriate la disposizione dei gettoni già posizionati.
SCACCHIERE BINARIO DI NEPERO Un esempio: 19 13 = ? Passo 3 Individuare, secondo le righe orizzontali, il valore delle caselle “gettonate” …...
SCACCHIERE BINARIO DI NEPERO Un esempio: 19 13 = ? 128 + 64 + 16 + 16 + 8 + 8 + 4 + 2 + 1 = Risultato 19 13 = 247 Passo 3 Individuare, secondo le righe orizzontali, il valore delle caselle “gettonate” …… e sommarli, con le rispettive molteplicità.