天行健 君子当自强而不息

一个有意思的类型转换

#include <stdio.h>

int main()
{    
    
float f_value1 = 5.2f;    

    unsigned 
long ul_value1 = *((unsigned long *&f_value1);

    
float f_value2 = *((float *&ul_value1);

    printf(
"\nf_value1 = %f, ul_value1 = %d, f_valu2 = %f", f_value1, ul_value1, f_value2);

    unsigned 
long ul_value2 = (unsigned long) f_value1;
    
float f_value3 = (float) ul_value2;

    printf(
"\n\nul_value2 = %d, f_valu3 = %f", ul_value2, f_value3);

    printf(
"\n\n");

    
return 0;
}

输出:

f_value1 = 5.200000, ul_value1 = 1084647014, f_valu2 = 5.200000

ul_value2 = 5, f_valu3 = 5.000000

posted on 2007-05-11 15:28 lovedday 阅读(465) 评论(0)  编辑 收藏 引用 所属分类: ▲ C Program


只有注册用户登录后才能发表评论。
【推荐】超50万行VC++源码: 大型组态工控、电力仿真CAD与GIS源码库
网站导航: 博客园   IT新闻   BlogJava   知识库   博问   管理


公告

导航

统计

常用链接

随笔分类(178)

3D游戏编程相关链接

搜索

最新评论