9的二进制是:00000000 00000000 00000000 00001001
因为pFloat是浮点型指针,直接把n中的二进制看成了浮点型
0 00000000 00000000000000000001001
S E M
此时E是全0的,所以次方数是2 ^ -126,小数点前补0,结果是:0.00000000000000000001001*2 ^ -126
因为%f打印小数点后6位,所以结果是0.000000
9.0的二进制是:1001.0 -> 1.001*2^3 E=3 3+127 = 130
0 10000010 00100000000000000000000
此时要进行%d整型打印,直接把这个二进制序列看成是整型,最高位0是正数,原码即补码,剩下的转换为整型是1,091,567,616
float a = 3.0f;
printf(“%d\n”,a); //编译器默认将32位的float类型转换成了64位的double类型,所以%d输出低32位都是0
4位的double类型,所以%d输出低32位都是0
printf(“%lld\n”, a); //如果用%lld打印的就是64位的地址内容,就是一个非常大的数