1e-9 o -1e9, quale è corretto?

Mi è stato assegnato un vecchio codice e quando lo stavo leggendo, ho notato che aveva questi sotto forma di:

float low = 1e-9; float high = 1e9; float lowB = 1e-9; float highB = 1e9; float lowL = 1e-9; float highL = 1e9; 

Quindi vedo che sta cercando di definire alcuni range usando la notazione e, giusto? Ma non è 1e-9 dovrebbe essere -1e9 ?

Quindi i valori sarebbero compresi tra -1000000000 e 1000000000 , giusto?

Non sono sicuro di cosa si intende per 1e-9 ?

Né è più corretto dell’altro. Rappresentano solo valori diversi.

1e-9 è 0.000000001 ; il segno meno si applica all’esponente.

-1e9 è -1000000000.0 ; il segno meno si applica al numero stesso.

La e (o E ) significa “tempi da 10 a”, quindi 1e9 è “una volta dieci fino alla nona potenza”, e 1e-9 significa “una decina alla negatività negativa”. Nella notazione scientifica matematica, questo è solitamente denotato da un apice: 1 × 10 -9 o -1 × 10 9 . I linguaggi di programmazione adottarono la notazione e o E perché era più facile da scrivere e stampare rispetto a un apice (e lo è ancora, peraltro). (Penso che questo potrebbe essere stato introdotto da Fortran negli anni ’50, ma non sono sicuro della storia esatta.)

“Basso” e “alto” si riferiscono ai valori assoluti. Il numero basso è piccolo in valori assoluti, quello alto è grande. I negativi non sono importanti, dal momento che hai già capito come lavorare con quelli. Ciò che è importante per i float è la loro scala variabile (cioè l’esponente), quindi è consuetudine fornire limiti inferiori e superiori per la scala piuttosto che il valore.