Pagina 2 di 2

Re: Somma nel codice eccesso 3

MessaggioInviato: 30/12/2019, 14:32
da oton
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.

Re: Somma nel codice eccesso 3

MessaggioInviato: 30/12/2019, 14:55
da apatriarca
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.

Re: Somma nel codice eccesso 3

MessaggioInviato: 30/12/2019, 16:23
da oton
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?