c语言中如何将以IEEE754标准显示的int型变量转换float型变量
2017-01-07 14:47
295 查看
int *p=a p是一个指针变量,p变量存放的是一个地址,*p表示该地址里存放的数据,该语句表达的是,将a变量的值存放在p所指向的地址里去。
int *p=&a 表示p指针指向的是a的地址
那么,在c语言中,如何将一个IEEE754格式显示的一个int型变量,转换成float类型呢?
先看一段代码:
long int x = 0x3f8ccccd;// 1.1
float b = *(float*)&x;
printf("b=%f\n",b);
运行结果:
./a.out
b=1.100000
解释:
0x3f8ccccd是浮点数1.1的IEEE754格式,以十六进制显示。&x表示取1.1的地址,得到一个int型指针。(float*)&x表示将&x这个int型指针强制转换成float型指针。*(float*)&x表示这个float型指针所指向的数,也就是1.1。最后b的值显示就是1.1
int *p=&a 表示p指针指向的是a的地址
那么,在c语言中,如何将一个IEEE754格式显示的一个int型变量,转换成float类型呢?
先看一段代码:
long int x = 0x3f8ccccd;// 1.1
float b = *(float*)&x;
printf("b=%f\n",b);
运行结果:
./a.out
b=1.100000
解释:
0x3f8ccccd是浮点数1.1的IEEE754格式,以十六进制显示。&x表示取1.1的地址,得到一个int型指针。(float*)&x表示将&x这个int型指针强制转换成float型指针。*(float*)&x表示这个float型指针所指向的数,也就是1.1。最后b的值显示就是1.1
相关文章推荐
- http://blog.csdn.net/ciiic/article/details/1917772如何用C语言显示ascii码超过127的字符
- 在C语言中,如何做到在用户输入密码时不显示密码本身,只回显星号。或者什么都不显示?
- 如何用C语言显示ascii码超过127的字符?
- C语言中的负数是如何显示的
- 如何用C语言显示ascii码超过127的字符?
- 如何用C语言显示ascii码超过127的字符
- 如何给DataGrid添加两个的题头分类显示
- 如何在Struts 数据库应用程序中实现分页显示(2)
- [导入]如何给DataGrid添加两个的题头分类显示
- 浅谈如何利用PB实现仿QQ自动显示/隐藏窗口(原创)
- 如何给DataGrid添加两个的题头分类显示 cuike519 [原作]
- 如何在Access报表中每隔N行显示一条粗线
- 如何使DataGrid(Web)的不同行根据不同的条件有不同的显示格式?
- 如何通过动态生成Html灵活实现DataGrid分类统计的界面显示功能
- 如何实现日期比较,暨实现显示5天内,显示10天内的记录
- 如何让控件的显示能超过主窗口範圍?
- 如何实现自定义及自动逐页打印DataGrid显示的内容
- 如何显示数据库中以 OLE 对象方式存储的 JPEG 图片
- 如何在linux下使用c语言操作临时文件
- 如何利用 WebBrowser 控件,显示 .GIF 动画?