?
并且实际值是多少呢

解决方案 »

  1.   

    4660.0
    int main(int argc, char* argv[])
    {
    char *p;
    float d; p=(char *) &d;
    *(p++)=0x00;
    *(p++)=0xa0;
    *(p++)=0x91;
    *(p++)=0x45;
    printf("d:%f\n", d);
    return 0;
    }
      

  2.   

    关于 float 类型的结构你可以参考一些基础书
      

  3.   

    关于 double 的 MSDN doc
    Type double
    Double precision values with double type have 8 bytes. The format is similar to the float format except that it has an 11-bit excess-1023 exponent and a 52-bit mantissa, plus the implied high-order 1 bit. This format gives a range of approximately 1.7E–308 to 1.7E+308 for type double.Microsoft Specific —>The double type contains 64 bits: 1 for sign, 11 for the exponent, and 52 for the mantissa. Its range is +/–1.7E308 with at least 15 digits of precision. END Microsoft Specific