GeeCON Prague 2014*
The moose likes Programmer Certification (SCJP/OCPJP) and the fly likes float and double range Big Moose Saloon
  Search | Java FAQ | Recent Topics | Flagged Topics | Hot Topics | Zero Replies
Register / Login


JavaRanch » Java Forums » Certification » Programmer Certification (SCJP/OCPJP)
Bookmark "float and double range" Watch "float and double range" New topic
Author

float and double range

Saumya Tangeda
Greenhorn

Joined: Jul 09, 2006
Posts: 24
I found th maximum value for float as 3.402e38 in JLS.But according to solutions for mock exams the value 314e7 and 42e7 cannot be assigned to a float type variable, why is that?

What's the range for float and double types in scientific notation?

Please reply soon..i have the exam tommorrow.
Naseem Khan
Ranch Hand

Joined: Apr 25, 2005
Posts: 809
Its not because of the range of 314e7 and 42e7 is outside float rather their sizes are 64 bit. That's why you can't assign it in float.

For example following is legal.



Here is a quote from JLS 3.0

The largest positive finite float literal is 3.4028235e38f. The smallest positive finite nonzero literal of type float is 1.40e-45f. The largest positive finite double literal is 1.7976931348623157e308. The smallest positive finite nonzero literal of type double is 4.9e-324.


All the best for your exams

Naseem


Asking Smart Questions FAQ - How To Put Your Code In Code Tags
Saumya Tangeda
Greenhorn

Joined: Jul 09, 2006
Posts: 24
Are the values 314e7 and 42e7, not in int range i.e less than the maximum value for int type - 2147483647?
Naseem Khan
Ranch Hand

Joined: Apr 25, 2005
Posts: 809
Question is not that whether they are in the range of int or not. 3e1 is definitely in the range of int but still you can't assign it in int. Reason is simple, 3e1 is a double can't be assigned to int.

So you have to cast it in int.

By the way these ranges are not required in exam. Just you need to know ranges of char and integral data types. Nothing more.



Above five ranges are not difficult to remember. Integral types are from...

-2^(bit-1) to 2^(bit-1)-1


Nothing else is required in ranges.


Naseem
 
GeeCON Prague 2014
 
subject: float and double range