Visualizzazione dei risultati da 1 a 7 su 7

Discussione: [c] not a number

  1. #1
    Utente di HTML.it L'avatar di pdpmpd
    Registrato dal
    Jan 2003
    Messaggi
    448

    [c] not a number

    qualcuno si ricorda quali erano i motivi per cui una variabile double non poteva essere visualizzata (mostrando un "nan", not a number)?
    grazie.
    Drug misuse is not a disease, it is a decision, like the decision to step out in front of a moving car. [...] In this particular life-style the motto is "be happy now because tomorrow you are dying", but the dying begins almost at once, and the happiness is a memory.

  2. #2
    Utente bannato
    Registrato dal
    Sep 2003
    Messaggi
    1,012
    A me è capitato che venga visualizzato "#INF" (infinito), "-#INF" e "#IND" (indeterminato).

    Poi magari dipende dal sistema...

  3. #3
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,304
    Una variabile che rappresenta un numero in virgola mobile viene stampato come un NAN quando la sua codifica binaria ESCE dallo standard IEEE per la rappresentazione dei numeri.

    Lo standard IEEE specifica che un numero è in notazione standard quando è scritto nel modo seguente:

    1 bit per il segno
    5 bit (se non vado errato) per l'esponente
    i rimanenti bit per la mantissa (nella codifica a 32 bit, rimangono, quindi 26 bit).


    C'è una regola, però, che riguarda proprio i bit della mantissa: il primo numero della mantissa deve essere un 1. Se il primo bit della mantissa non è un 1 si entra nel campo dei numeri cosiddetti DENORMALIZZATI i quali non seguono le regole standard ma servono per rappresentare ulteriori numeri che con lo standard non possono essere rappresentati (per esempio, appunto, l'INFINITO). Se il numero denormalizzato, però, non rappresenta nessuno dei particolari valori di questo "formato" allora la codifica binaria NON RAPPRESENTA UN NUMERO e, il valore della relativa variabile, viene stampato come NAN.


    Ciao.
    "Perchè spendere anche solo 5 dollari per un S.O., quando posso averne uno gratis e spendere quei 5 dollari per 5 bottiglie di birra?" [Jon "maddog" Hall]
    Fatti non foste a viver come bruti, ma per seguir virtute e canoscenza

  4. #4
    Utente di HTML.it L'avatar di pdpmpd
    Registrato dal
    Jan 2003
    Messaggi
    448
    è possibile che dipenda dalla divisione 0/0 assegnata a un double? non mi capacito, le uniche operazioni che compie il mio programma sono moltiplicazioni, somme e divisioni con numeri "piccoli"

    vedi allegato per l'errore
    Drug misuse is not a disease, it is a decision, like the decision to step out in front of a moving car. [...] In this particular life-style the motto is "be happy now because tomorrow you are dying", but the dying begins almost at once, and the happiness is a memory.

  5. #5
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,304
    Non lo so... ma dubito: fra i numeri denormalizzati dovrebbe essere previsto anche l'INDEFINITO. Non so che operazioni vengano svolte con quei valori, ma a questo punto credo che dipenda dal S.O.


    Ciao.
    "Perchè spendere anche solo 5 dollari per un S.O., quando posso averne uno gratis e spendere quei 5 dollari per 5 bottiglie di birra?" [Jon "maddog" Hall]
    Fatti non foste a viver come bruti, ma per seguir virtute e canoscenza

  6. #6
    Utente di HTML.it L'avatar di pdpmpd
    Registrato dal
    Jan 2003
    Messaggi
    448
    ho capito, grazie.
    Drug misuse is not a disease, it is a decision, like the decision to step out in front of a moving car. [...] In this particular life-style the motto is "be happy now because tomorrow you are dying", but the dying begins almost at once, and the happiness is a memory.

  7. #7
    Utente bannato
    Registrato dal
    Sep 2003
    Messaggi
    1,012
    Infatti a me che ho win, 0/0 mi da #IND

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.