Controllo overflow

di il
20 risposte

20 Risposte - Pagina 2

  • Re: Controllo overflow

    silente ha scritto:


    Ti basta fare le operazioni in parallelo sia sui numeri che sulle stringhe. Una volta che avrei svolto l'operazione in entrambi i modi ti basterà fare una strcmp tra la stringa risultato e la stringa ottenuta dalla itoa del numero risultato. Se le due stringhe sono diverse c'è stato overflow.
    Per moltiplicare due numeri in delle stringhe devo implementare manualmente una funzione che moltiplica le varie cifre nelle stringhe? Sarebbe un bel casino...
  • Re: Controllo overflow

    Allora basta sfruttare un paio di interessanti proprietà matematiche. Ti ho fatto un esempio di come si può implementare un sistema di Somma che riconosca l'overflow. Penso c'è il corrispondente sistema per le moltiplicazioni sia alquanto simile, visto che il concetto di moltiplicazione mi è stato spiegato come "a*b=a+a+a+a...b volte". Quindi visto che hai il riconoscimento del overflow per somme Non credo sia difficile espanderlo.
  • Re: Controllo overflow

    Nippolo ha scritto:


    Weierstrass ha scritto:


    E come?
    ...
    Scusa ho scritto una cosa per un'altra. Intendevo che anche se la suddetta diseguaglianza è verificata, puoi non essere in overflow!
    Esempio:
    12.345(int_16) ==> n=5
    10^n=100.000>int_16_max=32.767
    Vabbé ma chi se ne importa dei casi residui, era per rendergli la cosa facile. Per renderla ultrasemplice potrebbe addirittura usare 16^n

    Se vuole fare la logica con tutti i crismi c'è già la libreria gmp e sarebbero pochissime linee di codice...
  • Re: Controllo overflow

    Secondo me rimane sempre da capire se l'esercizio richiede di 'evitare' o 'riconoscere' la condizione di overflow

    E usare una libreria è un po' sparare sulla crocerossa
  • Re: Controllo overflow

    Alla fine ho risolto pensando che la somma di due numeri positivi o negativi da Overflow se il risultato ha segno opposto agli addendi.
    Per la sottrazione ho usato un po' di maneggi e sono giunto alla stessa conclusione. Grazie a tutti per i consigli
  • Re: Controllo overflow

    Bella soluzione
Devi accedere o registrarti per scrivere nel forum
20 risposte