Ho scritto un po' di codice di allenamento (ero interessato a curiosare io stesso) che scopre l'interno del numero fluttuante.
L'uscita a f == 0,5 + 1/(2^24). 1/(2^24) è la cifra più giovane della mantissa ad un dato grado:
Cosa volevi vedere esattamente lì? I numeri float hanno un bit per segno, 8 bit per esponente, e i restanti 23 sono mantissa, cioè la precisione massima è di 23 cifre decimali nella rappresentazione binaria, o 7 cifre decimali. Per i numeri doppi, c'è 1 bit per segno, 11 bit per esponente, i restanti 52 bit sono mantissa, la precisione massima è di 52 cifre decimali nella rappresentazione binaria o 16 cifre decimali. Perché c'è un codice per questo?
Cosa volevi vedere esattamente lì? I numeri float hanno un bit per segno, 8 bit per esponente, i restanti 23 sono mantissa, cioè la massima precisione di 23 cifre decimali nella rappresentazione binaria, o 7 cifre decimali. Per i numeri doppi, c'è 1 bit per segno, 11 bit per esponente, i restanti 52 bit sono mantissa, la precisione massima è di 52 cifre decimali nella rappresentazione binaria o 16 cifre decimali. Perché c'è un codice per questo?
"La teoria senza la pratica è morta e infruttuosa, la pratica senza la teoria è inutile e perniciosa". E tutti i tipi di cose interessanti con i numeri fluttuanti abbondano:
pavlick_: "La teoria senza la pratica è morta e infruttuosa, la pratica senza la teoria è inutile e dannosa". E c'è tutta una serie di cose interessanti con i numeri fluttuanti:
Ho solo pensato che forse vi aspettavate qualcosa di unico in MKL.
E tutta la questione dell'overflow della mantissa è interessante. Per la prima elementare. )
pavlick_: Naturalmente, ditemi, la maggior parte dei programmatori non sono aggiornati sull'argomento, io stesso ho delle lacune.
Beh, non so, siamo stati addestrati all'aritmetica binaria in modo che ci sia rimasta in testa per tutta la vita. ) Un'altra cosa è che non tutti noi siamo programmatori. In generale, non pensate che la mia domanda sia una sorta di pietra nel vostro giardino, ho solo pensato che lo scopo del vostro programma - per vedere alcune differenze nella MCL dallo standard, così ho chiesto.
Ho scritto un po' di codice di allenamento (ero interessato a curiosare io stesso) che scopre l'interno del numero fluttuante.
L'uscita a f == 0,5 + 1/(2^24). 1/(2^24) è la cifra più giovane della mantissa ad un dato grado:
Cosa volevi vedere esattamente lì? I numeri float hanno un bit per segno, 8 bit per esponente, e i restanti 23 sono mantissa, cioè la precisione massima è di 23 cifre decimali nella rappresentazione binaria, o 7 cifre decimali. Per i numeri doppi, c'è 1 bit per segno, 11 bit per esponente, i restanti 52 bit sono mantissa, la precisione massima è di 52 cifre decimali nella rappresentazione binaria o 16 cifre decimali. Perché c'è un codice per questo?
Cosa volevi vedere esattamente lì? I numeri float hanno un bit per segno, 8 bit per esponente, i restanti 23 sono mantissa, cioè la massima precisione di 23 cifre decimali nella rappresentazione binaria, o 7 cifre decimali. Per i numeri doppi, c'è 1 bit per segno, 11 bit per esponente, i restanti 52 bit sono mantissa, la precisione massima è di 52 cifre decimali nella rappresentazione binaria o 16 cifre decimali. Perché c'è un codice per questo?
"La teoria senza la pratica è morta e infruttuosa, la pratica senza la teoria è inutile e dannosa". E c'è tutta una serie di cose interessanti con i numeri fluttuanti:
Ho solo pensato che forse vi aspettavate qualcosa di unico in MKL.
E tutta la questione dell'overflow della mantissa è interessante. Per la prima elementare. )
Naturalmente, ditemi, la maggior parte dei programmatori non sono aggiornati sull'argomento, io stesso ho delle lacune.