This week's giveaway is in the Android forum.
We're giving away four copies of Android Security Essentials Live Lessons and have Godfrey Nolan on-line!
See this thread for details.
The moose likes Mock Exam Errata and the fly likes SJCP Big Moose Saloon
  Search | Java FAQ | Recent Topics | Flagged Topics | Hot Topics | Zero Replies
Register / Login


Win a copy of Android Security Essentials Live Lessons this week in the Android forum!
JavaRanch » Java Forums » Certification » Mock Exam Errata
Bookmark "SJCP" Watch "SJCP" New topic
Author

SJCP

anilkuj
Greenhorn

Joined: Sep 18, 2000
Posts: 22
d1=-1.0;
d2=0;
byte b=0;
b=(byte)d1/d2;
System.out.println(b);

the above code prints 0 why? i would like to have a breif description......
Ramesh Donnipadu
Ranch Hand

Joined: Sep 16, 2000
Posts: 100
The result of d1/d2 will be double since d1 is already double. Since d2 is 0, you get -INF (a manifest constant NEGATIVE_INFINITY). The manifest constants are defined in java.lang.math package.
NEGATIVE_INFINITY is represented as (0xfff0000000000000)
When this bit pattern is converted into byte, all higher order bits are ignored and you get zero as result.
For your information, POSITIVE_INFINITY is represented as 0x7ff0000000000000 and NaN is represented as 0x7ff8000000000000
anilkuj
Greenhorn

Joined: Sep 18, 2000
Posts: 22
thank u ramesh that was very much clear but still i am confused about the no. of bits in the rep. could u explain over it. I am giving my scjp this 29th could u give me any useful url's although i have a good collection of them are there any url's which are not found in common but very useful
thanx
anilkuj
Greenhorn

Joined: Sep 18, 2000
Posts: 22
hi! ramesh
class test4
{
public static void main(String args[])
{
double d1=1;
double d2=0.0;
d1=d1/d2;
System.out.println("d1:"+(int)d1);
byte b=0;
b=(byte)d1;
System.out.println(b);
}
}

then according to you even this should give 0 but it isn't it's giving -1 why???
 
I agree. Here's the link: http://aspose.com/file-tools
 
subject: SJCP
 
Similar Threads
Casting Related Doubt
ques
1.0/0.0 -1.0/0.0 0.0/0.0
Casting doubles to bytes
narrowing double to byte question.