Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

1e-9 or -1e9, which one is correct? [closed]

I am assigned some old code and when I was reading through it, I noticed it had these in the form of:

float low = 1e-9;
float high = 1e9;

float lowB = 1e-9;
float highB = 1e9;

float lowL = 1e-9;
float highL = 1e9;

So I see that it's trying to define some ranges using the e notation, right? But isn't 1e-9 supposed to be -1e9?

Then the values would be between -1000000000 and 1000000000, right?

I am not sure what 1e-9 is meant for?

like image 871
Joan Venge Avatar asked Aug 26 '12 22:08

Joan Venge


1 Answers

Neither is more correct than the other. They just represent different values.

1e-9 is 0.000000001; the minus sign applies to the exponent.

-1e9 is -1000000000.0; the minus sign applies to the number itself.

The e (or E) means "times 10-to-the", so 1e9 is "one times ten to the ninth power", and 1e-9 means "one times ten to the negative ninth power". In mathematical scientific notation, this is usually denoted by a superscript: 1 × 10-9 or -1 × 109. Programming languages adopted the e or E notation because it was easier to type and print than a superscript (and still is, for that matter). (I think this may have been introduced by Fortran in the 1950s, but I'm not sure of the exact history.)

like image 170
Keith Thompson Avatar answered Oct 05 '22 18:10

Keith Thompson