社区
C语言
帖子详情
pirntf中的类型转换问题
lklll
2006-04-02 12:13:46
printf中是否有强制转换呢?
如:
printf("%d",999.0);
输出为0
printf("%d",(int)999.0);
输出为999.
为什么第一种格式无法正确输出呢?
...全文
167
9
打赏
收藏
pirntf中的类型转换问题
printf中是否有强制转换呢? 如: printf("%d",999.0); 输出为0 printf("%d",(int)999.0); 输出为999. 为什么第一种格式无法正确输出呢?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
9 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
lklll
2006-04-02
打赏
举报
回复
既然没有转换,那么为什么输出会为0 呢?
Wolf0403
2006-04-02
打赏
举报
回复
sizeof(float) == sizeof(int) == 4 (IA32)
关键问题是,这样的效果基本属于
float f = 999.0;
printf( "%d", *(int *)(&f) );
postren
2006-04-02
打赏
举报
回复
printf 中没有自动转换类型,如果需要则手工强制转换
goodluckyxl
2006-04-02
打赏
举报
回复
是double存储8个字节 1符号有些还是保持7位指数有些13位 其他的是尾数
你随便拿个double 的数据进行memcpy 进int看看就知道了
999.0的内存分布 : 00 00 00 00 00 38 8F 40 拷贝4个字节就是0
yinenlai
2006-04-02
打赏
举报
回复
haha 究竟是怎么截取的
难道是float前四个字节是存储整数部分 后四个字节是存储小数部分???
Thanks
goodluckyxl
2006-04-02
打赏
举报
回复
K&R C
goodluckyxl
2006-04-02
打赏
举报
回复
楼上说的基本符合情况
float 在变参传入时按照K&C会以double 类型进行存储8个字节
int取的是4个字节 截取的数据是为0所以会有这个问题
OpenHero
2006-04-02
打赏
举报
回复
%d截取只截取了float的一部分,哪一部分正好全为0
变参数的函数,按照前面的规定从内存中取得参数的大小,给的数是float的,但是你告诉编译器,需要截取的那一部分是int的,所以:) ~~~按照int的规则来截取float,看看内存布局就知道为什么为0了
cracker234
2006-04-02
打赏
举报
回复
因为强制转换是某种意义上是一种压缩,sizeof(FLOAT)>sizeof(int) ; %d截取FLOAT一部分。
c++的四种强制转化
'reinterpret_cast'转换一个指针为其它类型的指针。它也允许从一个指针转换为整数类型。反之亦然。(译注:是指针具体的地址值作为整数值?) 这个操作符能够在非相关的类型之间转换。操作结果只是简单的从一个指针...
echo, print, print_r,
pirntf
, sprintf, var_dump研究
参数 format 是转换的格式,以百分比符号 (“%”) 开始到转换字符结束。下面是可能的 format 值: * %% – 返回百分比符号 * %b – 二进制数 * %c – 依照 ASCII 值的字符 * %d – 带符号十进制数 * %e ...
C语言两个数相除怎么得到浮点数
实例代码
中
,int除以int,即x除以y,并使用%f,得到的却是0.000000;int除以float,即x除以z,却使用%d,...C语言
中
pirntf
()函数打印输出浮点数使用的是%f占位符,而不是 %d;免责声明:内容仅供参考,不保证正确性。
C Primer Plus-第四章-字符串和格式化输入输出
然后printf开始读取字节,但是
pirntf
会按照引号内的解释说明指定的字节数从栈
中
依次提取提取字节数,当然第一次错了后面也会出错。limits.h头文件提供了一系列宏定义,如INT_MAX,INT_MIN为int类型的最大最小值。, ...
c语言基础数据试题,历C语言二试题《数据类型与基本操作考题》汇总.doc
历C语言二试题《数据类型与基本操作考题》汇总历届C语言二级试题《数据类型与基本操作》考题汇总1994年4月C语言二级笔试二进制数101110转换为等值的八进制数是__。A) 45B) 56C) 67D) 78在C语言
中
,如果下面的变量都...
C语言
70,037
社区成员
243,243
社区内容
发帖
与我相关
我的任务
C语言
C语言相关问题讨论
复制链接
扫一扫
分享
社区描述
C语言相关问题讨论
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章