Quote:
Originariamente inviato da Unrue
Ma in che modo veniva usato questo contatore? Della serie: arrivato al massimo muori? 
|
Esatto. Il perché è presto spiegato: i numeri con segno (
signed in inglese) usano un bit, solitamente il primo o l'ultimo a seconda dell'architettura, per rappresentare il fatto che il numero sia positivo o negativo. Il problema sta nel fatto che il numero può diventare talmente grande che per rappresentarlo bisogna mettere tutte le cifre a 1: in questo modo il numero diventa negativo!
Immagina ora che ci sia una logica interna al firmware di questo tipo:
Codice:
SE il numero di ore di attività è superiore a X ALLORA consiglia un controllo;
SE il numero di ore di attività è superiore a Y (maggiore di X) ALLORA consiglia la sostituzione
Immagina che sia un po' più complicata di così. A un certo punto le dai in pasto un numero negativo: questa logica semplicemente non è fatta per gestire numeri negativi, quindi banalmente si pianta e il disco non è più utilizzabile.