|
Hi there,
Float.toHexString doesn't give me the required answer,
I have tried the following piece of code which gives result in 32-bit but I am looking for the result in 64-bit ....
public class HextoDbl
{
public static void main(String[] args)
{
float f = 37.22f;
int bits, s, e, m;
bits = Float.floatToIntBits(f);
s = ((bits >> 31) == 0) ? 1 : -1;
e = ((bits >> 23) & 0xff);
m = (e == 0) ?
(bits & 0x7fffff) << 1 :
(bits & 0x7fffff) | 0x800000;
String hexStr = Integer.toHexString(bits);
String leadingZeros = "";
System.out.println(hexStr.length()+" length, value: "+hexStr);
switch(hexStr.length()) {
case 7: leadingZeros = "0"; break;
case 6: leadingZeros = "00"; break;
case 5: leadingZeros = "000"; break;
case 4: leadingZeros = "0000"; break;
case 3: leadingZeros = "00000"; break;
case 2: leadingZeros = "000000"; break;
case 1: leadingZeros = "0000000"; break;
case 0: leadingZeros = "00000000"; break;
}
hexStr = leadingZeros + hexStr;
System.out.println( " Hexadecimal: " + hexStr);
}
}
Can anyone help please.
Thank you.
Regards,
Sukhpreet Kaur
|