Re: Somma nel codice eccesso 3

Messaggioda oton » 30/12/2019, 14:32

Su un testo di scuola media superiore ho trovato questa regola che riporto fedelmente:"La somma in Ex3 è simile alla BCD, ma bisogna sottrarre 3 (in binario) se la somma non ha riporto, altrimenti sommare 3 a entrambe le cifre."
Mi chiedo se questa regola è corretta per quanto riguarda "entrambe le cifre".
Allora ho proposto i due esempi precedenti: in un caso, 8+2, devo sommare 3 anche alla cifra in cui ho il riporto per ottenere il codice ex3 corretto, nell'altro caso, 8+14, non devo aggiungere 3 alla cifra in cui ho riporto, perchè ho già il codice corretto.
oton
Junior Member
Junior Member
 
Messaggio: 51 di 128
Iscritto il: 30/06/2011, 20:41

Re: Somma nel codice eccesso 3

Messaggioda apatriarca » 30/12/2019, 14:55

Nel caso di \(8 + 2\) hai la somma in numeri esadecimali \(B_h + 5_h = 10_h\). Alla cifra meno significativa devi sommare \(3\) e alla cifra successiva (che era uguale a \(\operatorname{ex3}(0) = 3_h\)) devi sommare \(1\). Il risultato sarà quindi \(43_h\).

Nel caso di \(8 + 14\) devi agire in modo simile. Hai prima di tutto la somma della prima cifra in esadecimale uguale a \(B_h + 7_h = 12_h\). Alla cifra meno significativa devi sommare \(3\) e alla cifra successiva (uguale a \(\operatorname{ex3}(1) = 4_h\)) devi sommare \(1\). Il risultato sarà \(55_h\).

Forse il commento intendeva dire che al riporto di \(1\) andasse sommato \(3\) per poterlo sommare come una cifra in eccesso \(3\). In caso contrario non mi sembra corretto.
apatriarca
Moderatore
Moderatore
 
Messaggio: 5339 di 10435
Iscritto il: 08/12/2008, 20:37
Località: Madrid

Re: Somma nel codice eccesso 3

Messaggioda oton » 30/12/2019, 16:23

Grazie :D . Ho finalmente capito un mio errore: 8+2 significa 08+02 con la cifra 0 ovviamente in ex3. Quindi bisogna aggiungere 3 alla prima cifra che produce riporto e sottrarre 3 alla seconda, che non lo produce.
Quindi vale la regola come dicevi tu:
- se la cifra ha riporto bisogna aggiungere 3
- se la cifra non ha riporto bisogna sottrarre 3
Quindi "entrambe" è fuorviante, se non errato; vale solo per una nuova cifra più significativa se non inseriamo lo 0. Certamente non vale per le cifre intermedie.

Riflettevo su una differenza tra i codici BCD ed EX3: il primo può produrre codici non validi, da 10 a 15 senza produrre riporto, invece in EX3 questo non si verifica. Ti risulta?
oton
Junior Member
Junior Member
 
Messaggio: 52 di 128
Iscritto il: 30/06/2011, 20:41

Precedente

Torna a Informatica

Chi c’è in linea

Visitano il forum: Nessuno e 1 ospite