programming forums Java Mobile Certification Databases Caching Books Engineering Micro Controllers OS Languages Paradigms IDEs Build Tools Frameworks Application Servers Open Source This Site Careers Other Pie Elite all forums
this forum made possible by our volunteer staff, including ...
Marshals:
• Tim Cooke
• Campbell Ritchie
• Ron McLeod
• Junilu Lacar
• Liutauras Vilda
Sheriffs:
• Paul Clapham
• Jeanne Boyarsky
• Henry Wong
Saloon Keepers:
• Tim Moores
• Tim Holloway
• Stephan van Hulst
• Piet Souris
• Carey Brown
Bartenders:
• Jesse Duncan
• Frits Walraven
• Mikalai Zaikin

# See this question

Ranch Hand
Posts: 169
• • Number of slices to send:
Optional 'thank-you' note:
• • This is the one from K&B 1.4 book:

Which three are valid declarations of a float? (Choose three.)
A. float f1 = -343;
B. float f2 = 3.14;
C. float f3 = 0x12345;
D. float f4 = 42e7;
E. float f5 = 2001.0D;
F. float f6 = 2.81F;

Can you pleas explain why the options A,D are correct and B,C are not correct ?

Thanks.

Ranch Hand
Posts: 63
• • Number of slices to send:
Optional 'thank-you' note:
• • Hello Ja,

A. float f1 = -343;
B. float f2 = 3.14;
C. float f3 = 0x12345;
D. float f4 = 42e7;
E. float f5 = 2001.0D;
F. float f6 = 2.81F;

B is not correct because floating-point numbers are considered doubles. If you want a float you must mark it as such. 3.14F
C is not correct because you can only have ints in hex or octal format.
A is correct because an int fits into a float. (it's not a floating point number so you don't need the F is this case)
D.....erm - you can just represent floats with the e scientific notation. again you dont need the f because its not a floating point number.

Greenhorn
Posts: 7
• • Number of slices to send:
Optional 'thank-you' note:
• • A. float f1 = -343;
B. float f2 = 3.14;
C. float f3 = 0x12345;
D. float f4 = 42e7;
E. float f5 = 2001.0D;
F. float f6 = 2.81F;

How

Win Siu
Greenhorn
Posts: 7
• • Number of slices to send:
Optional 'thank-you' note:
• • A. float f1 = -343;
B. float f2 = 3.14;
C. float f3 = 0x12345;
D. float f4 = 42e7;
E. float f5 = 2001.0D;
F. float f6 = 2.81F;

How come when I tried it with Eclipse, it marked
A, C and F to be correct instead?

I think D is not correct. A and C are integers so they are OK. F is suffixed with 'F' to indicate it is a float so it is OK. Otherwise are considered double?

Ja vardhan
Ranch Hand
Posts: 169
• • Number of slices to send:
Optional 'thank-you' note:
• • Yes, it seems D is wrong because 42e7 is double number (hope its going beyond the float range). So assgining double to float is wrong.

Why the yhave given D is right ???

Thanks. Don't get me started about those stupid light bulbs.