import static java.
lang.
System.
out;
class Q2506277Converter {
private static strictfp float binary32ToDecimal
( String s
/* the significand */ ) {
byte n = 1; /* the 'n' in the sigma notation */
byte p = 24; /* the 'p' in the sigma notation */
byte bitN = 0; /* the 'bit_n' in the sigma notation */
byte e = 1; /* the 'e' in the sigma notation */
float sum = 0.0f; /* the summation in the sigma notation */
for(; n <= p-1; n++ ){
bitN
= Byte.
parseByte( s.
substring( n, n
+1 ) ); sum
+= (float)(bitN
* Math.
pow(2,
-n
) ); /* the '2^-n' in the sigma notation */ }
return (1 + sum
) * (float)Math.
pow( 2, e
); /* the '2^1' in the sigma notation */ }
public static void main
( String[] args
){
/* IEEE 754 encoding significand */
String significand
= "110010010000111111011011";
out.printf( "%.9f%n", binary32ToDecimal( significand ) );
}
}
aW1wb3J0IHN0YXRpYyBqYXZhLmxhbmcuU3lzdGVtLm91dDsKCmNsYXNzIFEyNTA2Mjc3Q29udmVydGVyIHsKCnByaXZhdGUgc3RhdGljIHN0cmljdGZwIGZsb2F0IGJpbmFyeTMyVG9EZWNpbWFsKCBTdHJpbmcgcyAvKiB0aGUgc2lnbmlmaWNhbmQgKi8gKSB7CgogICAgICBieXRlIG4gPSAxOyAgICAgICAgICAvKiB0aGUgJ24nIGluIHRoZSBzaWdtYSBub3RhdGlvbiAqLwogICAgICBieXRlIHAgPSAyNDsgICAgICAgICAvKiB0aGUgJ3AnIGluIHRoZSBzaWdtYSBub3RhdGlvbiAqLwogICAgICBieXRlIGJpdE4gPSAwOyAgICAgICAvKiB0aGUgJ2JpdF9uJyBpbiB0aGUgc2lnbWEgbm90YXRpb24gKi8KICAgICAgYnl0ZSBlID0gMTsgICAgICAgICAgLyogdGhlICdlJyBpbiB0aGUgc2lnbWEgbm90YXRpb24gKi8KICAgICAgZmxvYXQgc3VtID0gMC4wZjsgICAgLyogdGhlIHN1bW1hdGlvbiBpbiB0aGUgc2lnbWEgbm90YXRpb24gKi8KCiAgICAgIGZvcig7IG4gPD0gcC0xOyBuKysgKXsKICAgICAgICAgYml0TiA9IEJ5dGUucGFyc2VCeXRlKCBzLnN1YnN0cmluZyggbiwgbisxICkgKTsKICAgICAgICAgc3VtICs9IChmbG9hdCkoYml0TiAqIE1hdGgucG93KDIsIC1uKSApOyAvKiB0aGUgJzJeLW4nIGluIHRoZSBzaWdtYSBub3RhdGlvbiAqLwogICAgICB9CgogICAgICByZXR1cm4gKDEgKyBzdW0pICogKGZsb2F0KU1hdGgucG93KCAyLCBlICk7IC8qIHRoZSAnMl4xJyBpbiB0aGUgc2lnbWEgbm90YXRpb24gKi8KfQoKcHVibGljIHN0YXRpYyB2b2lkIG1haW4oIFN0cmluZ1tdIGFyZ3MgKXsKCiAgICAgICAgLyogSUVFRSA3NTQgZW5jb2Rpbmcgc2lnbmlmaWNhbmQgKi8KICAgICAgICBTdHJpbmcgc2lnbmlmaWNhbmQgPSAiMTEwMDEwMDEwMDAwMTExMTExMDExMDExIjsKCiAgICAgICAgb3V0LnByaW50ZiggIiUuOWYlbiIsIGJpbmFyeTMyVG9EZWNpbWFsKCBzaWduaWZpY2FuZCApICk7CiAgICB9Cn0=