Discussioni su argomenti di Informatica
29/12/2019, 14:21
Potreste riportarmi le regole per la somma nel codice eccesso 3? Anche un link. Ho cercato in rete ma non le trovo.
Grazie
29/12/2019, 14:22
Scusa l'ignoranza ma che roba sarebbe? È roba da superiori? È matematica o informatica?
29/12/2019, 14:40
Hai ragione: Informatica
29/12/2019, 14:54
oton ha scritto:Hai ragione: Informatica
Qualche dettaglio in più nella domanda non sarebbe guastato...
Comunque a Natale e dintorni siamo tutti più buoni... sposto nella sezione di informatica.
29/12/2019, 16:39
Zero87 ha scritto:Qualche dettaglio in più nella domanda non sarebbe guastato...
Si tratta di un codice BCD. Basta aggiungere 3 alle cifre BCD.
Quindi
dec -- BCD -- EX3
0 -- 0000 -- 0011
1 -- 0001 -- 0100
2 -- 0010 -- 0101
3 -- 0011 -- 0110
4.........
9 -- 1001 -- 1100
Ora, se non mi sbaglio, nella somma BCD, dopo aver fatto la somma in binario, bisogna aggiungere ad ogni cifra 0110 (6 in decimale) se si ha riporto alla cifra successiva oppure se si ottiene un codice non valido, oltre la cifra 9.
In EX3 per ogni cifra:
- se c'è riporto alla cifra successiva oppure se il codice non è valido (non è tra 0 e 9) si aggiunge 0011 (3 decimale)
- altrimenti si sottrae 3
Però non sono sicuro.
30/12/2019, 10:34
Dati due numeri \(x + 3\) e \(y + 3\) hai che la loro somma è \(x + y + 6\). Per ottenere la somma in eccesso 3 devi quindi sottrarre 3. Non mi è chiaro perché dovresti agire diversamente in caso di overflow.
30/12/2019, 10:56
Stavo pensando al caso generale di eccesso \(k\) e non al codice BCD in particolare. In questo caso particolare hai che se la somma è compresa tra \(0\) e \(9\) allora il valore della somma sarà compreso tra \(6\) e \(15\). Se non hai quindi alcun riporto alla cifra successiva puoi quindi semplicemente sottrarre \(3\) e ottenere il valore desiderato. Se la somma è invece compresa tra \(10\) e \(18\) otterrai valori tra \(0\) e \(8\) dopo la somma. Hai quindi bisogno di sommare \(3\) per ottenere il valore corretto della cifra.
30/12/2019, 13:20
devo sommare 3 anche alla cifra successiva?
30/12/2019, 13:33
Nel caso 8+14, ho riporto. Allora aggiungo 3 solo alla cifra meno significativa.
Nel caso 8+2 ho ancora riporto ma devo aggiungere 3 anche alla cifra più significativa.
30/12/2019, 14:11
Non ho capito cosa intendi nei due esempi. Nel caso di riporto devi aggiungere 1 alla cifra successiva (o 4 se vuoi trattarlo come un numero in eccesso 3).
Skuola.net News è una testata giornalistica iscritta al Registro degli Operatori della Comunicazione.
Registrazione: n° 20792 del 23/12/2010.
©2000—
Skuola Network s.r.l. Tutti i diritti riservati. — P.I. 10404470014.