hi every one ....

thanks for comming to this thread ...

Dose any one know how to separate mantissa and exponent of a double and store them in two integers? :?:

Re: separate mantissa and exponent of a double 80 80

I'm not sure if this is exactly what you're talking about, but here it is...

public class Mantissa
{
	public static void main(String[] args)
	{
		double d = 2.88;
		int a = (int) d; // here's the first part
		System.out.println(a);
		double f = d - (double) a;
		f = Math.round(f * 100);
		int c = (int) f;
		System.out.println(c);
	}
}
Re: separate mantissa and exponent of a double 80 80

I'm not sure if this is exactly what you're talking about, but here it is...

public class Mantissa
{
	public static void main(String[] args)
	{
		double d = 2.88;
		int a = (int) d; // here's the first part
		System.out.println(a);
		double f = d - (double) a;
		f = Math.round(f * 100);
		int c = (int) f;
		System.out.println(c);
	}
}

yes, but is there any other way? or is there any chance of data lose in this way?

Re: separate mantissa and exponent of a double 80 80

yes, but is there any other way? or is there any chance of data lose in this way?

I thought that was a very good solution myself, but if you want another way, you could throw it into a string and parse it.

Re: separate mantissa and exponent of a double 80 80

hi every one ....

thanks for comming to this thread ...

Dose any one know how to separate mantissa and exponent of a double and store them in two integers? :?:

I'd go with something like

long bits = Double.doubleToLongBits(5894.349580349);
        
boolean negative = (bits & 0x8000000000000000L) != 0; 
long exponent = bits & 0x7ff0000000000000L >> 52;
long mantissa = bits & 0x000fffffffffffffL;

Note that the mantissa is actually 52 bits in a double, and shouldn't ever be put in an integer without making sure it fits first. The exponent is small enough.

Hope that helps.

Be a part of the DaniWeb community

We're a friendly, industry-focused community of 1.19 million developers, IT pros, digital marketers, and technology enthusiasts learning and sharing knowledge.