>>830
float
str2float(char *str)
{
  union strflo {unsigned int u; float f;} x; x.u = 0;
  while (*str != '\0'){x.u <<= 1; x.u |= *str++ == '1' ? 1 : 0;}
  return x.f;
}

#include <stdio.h>
int
main(int argc, char **argv)
{
  if (argc < 2 || strlen(argv[1]) != 32) return 1;
  printf("%.8e\n", str2float(argv[1]));
  return 0;
}