[complemento alla base] informatica

zio_mangrovia
Sto cercando materiale in rete per la rappresentazione di numeri INTERI espressi in base diversi dalla 2,8, e 16 che se non erro si chiama complemento alla radice o alla base.
E' un argomento che non riesco a trovare

Risposte
apatriarca
L'esempio più comune è la base 10 che usiamo regolarmente. Volendo tuttavia usare una base diversa, direi di parlare della base 3.

Esistono due metodi per lavorare in base 3 in effetti. Il primo è di usare le cifre \(0, 1, 2\) e il secondo usa invece le cifre \(-1, 0, 1\) ed è chiamato balanced ternary. Questa seconda base è in effetti quella che è stata usata più spesso. Storicamente è stata usata in un computer russo chiamato Setun. La base \(3\) è da certi punti di vista teoricamente migliore della base \(2\), ma i numeri binari hanno infine vinto per una maggiore semplicità e costo nel produrre dispositivi a due stati.

Un'altra base storicamente usata dai Babilonesi (e ancora presente nel calcolo degli angoli) è la base 60. Questa base è divisibile per 2, 3, 4, 5, 6, 10, 15 e 30 per cui molti calcoli comuni vengono semplificati usando questa base.

zio_mangrovia
Ti ringrazio ma il mio obiettivo è di imparare la rappresentazione con il primo metodo, ad esempio in base 3 usando le cifre 0,1,2 per rappresentare gli interi perchè con i numeri naturali la notazione posizionale è alquanto semplice ed intuibile... non direi altrettanto per gli interi.

apatriarca
Scusa, avevo frainteso la domanda. L'idea principale è quella di dividere in due l'intervallo di valori possibili con un determinato numero di cifre e poi scegliere i numeri negativi in modo che la somma fornisca il valore corretto. In particolare il valore negativo \(-v\) sarà uguale a \(b^n - v\). Sommando in questo modo due numeri opposti otterrai zero come voluto. Ti faccio un esempio.

Supponiamo di avere la base 10 e 3 cifre. Diciamo che un numero è positivo se l'ultima cifra è compresa tra 0 e 4 e negativa in caso contrario. Inoltre il valore negativo \(-v\) sarà rappresentato come \(1000 - v\).

Il metodo funziona ovviamente meglio se la base è pari. Se la base è dispari conviene usare la rappresentazione bilanciata di cui ho già parlato per il numero 3.

zio_mangrovia
di nuovo grazie, chiarissimo. Se volessi approfondire questo metodo di rappresentazione di complemento alla base conoscete dei riferimenti in rete ?

apatriarca
Devo dire di non avere alcun riferimento particolare (non ricordo dove l'ho imparato insomma). Tuttavia puoi forse iniziare da Wikipedia..

Rispondi
Per rispondere a questa discussione devi prima effettuare il login.