[complemento alla base] informatica
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
E' un argomento che non riesco a trovare
Risposte
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.
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.
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.
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.
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.
di nuovo grazie, chiarissimo. Se volessi approfondire questo metodo di rappresentazione di complemento alla base conoscete dei riferimenti in rete ?
Devo dire di non avere alcun riferimento particolare (non ricordo dove l'ho imparato insomma). Tuttavia puoi forse iniziare da Wikipedia..