关于double类型变量给float变量赋值的溢出有关问题

关于double类型变量给float变量赋值的溢出问题
今天看了谭浩强的书,用VC6.0实现了其中一个程序段,如下:
#include<stdio.h>
void main()
{
 float f;
 double d;
 d=123.456789e100;
 f=d;
 //f=1e1;
 printf("f=%f\n",f);
 printf("d=%f\n",d);
}


按照以前的认识和书上讲的,将如此大的数赋给一个float变量必定溢出,但是结果如下图:
关于double类型变量给float变量赋值的溢出有关问题

看最后结果 f和d输出的结果是一样的,请问这是什么情况?

环境是64位win7/VC++6.0
------解决思路----------------------
VC6不会连float和double都傻傻分不清楚吧,这么大的数foat没法放
------解决思路----------------------
珍惜生命,远离VC6
------解决思路----------------------
vs2008下溢出了
------解决思路----------------------
不要再用VC6了,好吗?
vs2015都要出来了。用下vs2013吧,实在是太优雅了。