Stavo facendo alcuni calcoli di arrotondamento ed è successo su una domanda. Come posso esprimere la massima quantità inferiore a 1 per un determinato tipo di virgola mobile?Quantità massima in virgola mobile espressa inferiore a 1
Cioè, come scrivo/rappresento il valoretale che x < 1, x + y >= 1
per qualsiasi y > 0
.
In frazioni questo sarebbe x = (q-1)/q
dove q
è il precisione del tipo. Ad esempio, se si contano in incrementi 1/999
, quindi x = 998/999
.
Per un determinato tipo (float, double, long double), come è possibile esprimere il valore x
nel codice?
Mi chiedo anche se tale valore è presente in realtà per tutti i valori di y
. Cioè, dato che l'esponente y's
diventa più piccolo forse la relazione non regge più. Quindi è accettabile anche una risposta con qualche limite di intervallo su . (Il valore di x
Voglio ancora esiste, la relazione potrebbe non proprio esprimerlo correttamente.)
Stai cercando una formula? Una costante? Un algoritmo per trovarlo? – Maxpm
Una costante sarebbe preferibile, ma una funzione sarebbe anche accettabile. –
dai un'occhiata a dlamch over netlib –