社区
C语言
帖子详情
一个简单而复杂的问题
量化分析
2011-10-20 03:52:35
printf("%d",4.0);
这个语句为什么会后面的数字不一样会输出不一样的结果?
末尾为单位数 1 3 5 。。。 为正位数
末尾为双位数偶数 2 4 6.。。。 为负数 。。
why??
知道的告诉声嘛~
...全文
203
11
打赏
收藏
一个简单而复杂的问题
printf("%d",4.0); 这个语句为什么会后面的数字不一样会输出不一样的结果? 末尾为单位数 1 3 5 。。。 为正位数 末尾为双位数偶数 2 4 6.。。。 为负数 。。 why?? 知道的告诉声嘛~
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
11 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
赵4老师
2013-12-25
打赏
举报
回复
http://bbs.csdn.net/topics/390676437
heis07w
2011-10-20
打赏
举报
回复
4.0是浮点数,4是整数。这两种类型的数在内存中编码存储方式有很大差别。
你的%d是告诉编译器按整数的内存编码方式(补码)去解释那块实际上是存浮点数的内存。
fuck与操是同一个意思,但你用中文去解释英文fuck会解释为“发克”,而不是原来的意思
goldbeef
2011-10-20
打赏
举报
回复
[Quote=引用 5 楼 zhao4zhong1 的回复:]
VC调试(TC或BC用TD调试)时按Alt+8、Alt+6和Alt+5,打开汇编窗口、内存窗口和寄存器窗口看每句C对应的汇编、单步执行并观察相应内存和寄存器变化,这样过一遍不就啥都明白了吗。
(Linux或Unix下可以在用GDB调试时,看每句C对应的汇编并单步执行观察相应内存和寄存器变化。
搜“浮点表示法”
1.0→00 00 00 00 00 00 F0 3F
2.0→00 00……
[/Quote]赵老师说的精辟啊,学习了
goldbeef
2011-10-20
打赏
举报
回复
恩,果然是IEE754
AnYidan
2011-10-20
打赏
举报
回复
google IEEE754
zhOu
2011-10-20
打赏
举报
回复
2楼说得对
ljhhh0123
2011-10-20
打赏
举报
回复
printf函数在运行时才解释第二个参数的内容,%d代表整数,而且浮点表示法和整数表示法是不同的。
赵4老师
2011-10-20
打赏
举报
回复
VC调试(TC或BC用TD调试)时按Alt+8、Alt+6和Alt+5,打开汇编窗口、内存窗口和寄存器窗口看每句C对应的汇编、单步执行并观察相应内存和寄存器变化,这样过一遍不就啥都明白了吗。
(Linux或Unix下可以在用GDB调试时,看每句C对应的汇编并单步执行观察相应内存和寄存器变化。
搜“浮点表示法”
1.0→00 00 00 00 00 00 F0 3F
2.0→00 00 00 00 00 00 00 40
3.0→00 00 00 00 00 00 08 40
4.0→00 00 00 00 00 00 10 40
5.0→00 00 00 00 00 00 14 40
6.0→00 00 00 00 00 00 18 40
量化分析
2011-10-20
打赏
举报
回复
是跟溢出有关吗???
薛定谔之死猫
2011-10-20
打赏
举报
回复
是的,路上几位说的是正确的
bdmh
2011-10-20
打赏
举报
回复
4.0被当做浮点数,浮点数存储和整数不一样
cfvmario
2011-10-20
打赏
举报
回复
这要看系统和编译器是如何实现浮点数的存放的
不过多数系统是IEEE浮点标准吧
复杂
问题
简单
化以及
简单
问题
复杂
化
复杂
问题
简单
化以及
简单
问题
复杂
化并不矛盾,而是在项目的不同阶段。 在项目设计阶段,要考虑的是“
简单
问题
复杂
化”。说的通俗点,就是在给定需求的基础上尽量扩展,考虑更多的可能,做尽可能大的设计,来确保项目需求一旦发生变更,不会影响总体框架,仅仅是代理工作量的变化。 在项目开发阶段,就要使用“
复杂
问题
简单
化”的原则。就是要将任何
复杂
的东西,拆解成为
简单
的模块、功能。这样
如何实现
复杂
的
问题
简单
化
01
复杂
带来的困扰 不得不承认,我是
一个
喜欢把
简单
事情想
复杂
化的人。做事之前想很多后果,与人交往过于注重别人感受,表达混乱,所以,常常踌躇不前,徘徊不定。学习、工作、生活常亮红灯,困扰不断。通过写文章,我渐渐明白,即使几千字的东西,也可以按某种方式排列,变得
简单
,也渐渐发现:
简单
是一种美。把
复杂
问题
简单
化,能解决很多
问题
。 年轻的时候常常喜欢
复杂
的东西,比如写文章,常常把
一个
简单
问题
写得很
复杂
,用很华丽的辞藻,很
复杂
的句式,好像别人不懂是别人肤浅,其实相反,因为很多
问题
本身就很
复杂
,很模糊,看不清楚
动态规划算法:解决
复杂
问题
的利器
动态规划(Dynamic Programming)是一种高效解决
复杂
问题
的算法方法,它通过将
问题
分解为子
问题
,并将子
问题
的解缓存起来,从而避免重复计算,提高计算效率。本文将介绍动态规划算法的原理、应用场景以及实际代码示例(Java)。动态规划算法是一种强大的解决
复杂
问题
的方法。通过将
问题
划分为多个子
问题
,并利用子
问题
的解来求解原
问题
,动态规划能够高效地解决具有重叠子
问题
和最优子结构特性的
问题
。在实际应用中,动态规划广泛应用于各个领域,例如最短路径
问题
、背包
问题
、编辑距离
问题
和股票交易
问题
等。
简单
请求与
复杂
请求
区别:主要在于是否会触发CORS(Cross-Origin Resource Sharing)预检请求。 跨域产生:浏览器的同源策略(协议、域名、端口号) 开发网站时经常会用到跨域资源共享(简称cors,后面使用简称)来解决跨域
问题
,但是在使用cors的时候,http请求会被划分为两类,
简单
请求和
复杂
请求,而这两种请求的区别主要在于是否会触发cors预检请求。 《CORS需要浏览器和服务器同时支持。目前,所有主流浏览器都支持该功能,IE浏览器不能低于IE10。在浏览器端, 整个CORS通信过程,都是浏
系统方法——
复杂
问题
的解决方案
传统的解决
问题
的方法,是将
一个
复杂
问题
分解为多个
简单
问题
,逐个分析并解决
简单
问题
来达到解决
复杂
问题
的目的。对于大部分
复杂
系统来说,系统具有整体性和层次性,必须要用系统的方法来解决
问题
。后面可以看到,系统方法是统一各学科的唯一方法,也是探索生命与智慧的基础。
C语言
69,382
社区成员
243,073
社区内容
发帖
与我相关
我的任务
C语言
C语言相关问题讨论
复制链接
扫一扫
分享
社区描述
C语言相关问题讨论
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章