博客
关于我
从double到float的强制类型转换
阅读量:297 次
发布时间:2019-03-03

本文共 404 字,大约阅读时间需要 1 分钟。

#include 
union FLOATUN{ unsigned int a; float b;};int main(){ FLOATUN fun; fun.b = 12.34; printf("c:%x\n",fun.a); double a = 12.34; fun.b = (float) a; printf("c:%x\n",fun.a); double c = 12.34; float *p; p = (float *) &c; printf("float c:%f\n",*p);}

输出结果

c:414570a4c:414570a4float c:584860314976236483507101602781593600.000000

只要不超出范围,double可以强转float

但用float指针会出错,因为float指针相当于只取了64位变量的32位

转载地址:http://buwq.baihongyu.com/

你可能感兴趣的文章
Redis的持久化策略RDB和AOF
查看>>
[数据结构]:红黑树(二)
查看>>
Ubuntu切换到root用户无法找到环境变量PATH的问题
查看>>
Python基础(二)
查看>>
PyCharm安装与配置
查看>>
[ERROR]: gitstatus failed to initialize.
查看>>
关于Java的List的笔记
查看>>
Docker - 部署 Redis 6.0.8
查看>>
Android - Create dynamic lists with RecyclerView
查看>>
Android - Broadcasts overview(不完整)
查看>>
Spring Boot - Add a Servlet to an Application
查看>>
OrCAD Capture CIS 16.6 - 为元器件添加属性
查看>>
Web API - File - Selecting files using drag and drop
查看>>
Spring Boot - axios upload file(带请求头上传文件,非前后端分离)
查看>>
排序算法总结——c++实现
查看>>
c++ 逗号运算符
查看>>
vector的几种初始化及赋值方式
查看>>
STL基础梳理 2019.1.19(仿函数,谓词,内建函数对象,适配器,算法)
查看>>
IDEA效率快捷键收集
查看>>
并发情况下三种线程/并发安全
查看>>