C_and_CPP 板


LINE

小弟之前有发文询问浮点数比较的问题 现在为了要解决这个问题我爬文之後学到把浮点数转成字串再比较的方法 为了解决我的问题我实做了两种方法 1.把原本的浮点数改成整数去做比较 2.把浮点数转成字串去做比较 要比较的浮点数类型 => x.y 改成整数 => x.y * 10 = xy 方法1的部份code: ........... int a,b; int c[i] if(a = = b) c[i]=a; ........... 方法2的部份code: ........... char str1[4],str2[4]; double s1,s2; double c[i] sprintf(str1,"%2.1f",s1); sprintf(str2,"%2.1f",s2); if( (strcmp(str1,str2)) = = 0 ) c[i]=s1; ........... 两种方法差别在比较这一部份 其他的东西都大同小异,但是两种方法的执行时间差蛮多的 方法1执行不到5秒结果就出来了 方法2执行大约是36~40秒之间 我的疑问是两种方法为什麽执行时间会相差那多? p.s: 我在跑方法2的时候跑太久还以为程式当掉了一直关掉找bug 结果找很久没找到反而是因为尿急先放着回来结果就出来了...还正确无误=.=" 恳请版友帮我解惑!!谢谢 -- 态度决定你的高度 你有多高? --



※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 58.114.166.192
1F:→ dendrobium:fcn用起来只有一行 跑起来可不只一行 07/28 19:34
2F:推 StubbornLin:不太懂为什float要转字串再比 07/28 19:38
3F:→ StubbornLin:float再怎麽慢可能也只是一个指令好几个周期 07/28 19:38
4F:→ StubbornLin:你先转字串 这之间就不知道跑多少个指令 07/28 19:39
5F:→ StubbornLin:接着字串比对又走访整个阵列 当然慢= = 07/28 19:39
6F:推 VictorTom:string的处理本来就比基本型别速度慢上很多, 就像1F说的 07/28 20:04
7F:→ VictorTom:程式写起来是一行func call, 背後要做都少事请disasm看. 07/28 20:05
8F:→ VictorTom:顺便说, %2.1f, 就算整数不超过2位, 也可能放不下'\0'. 07/28 20:07
9F:→ VictorTom:顺便回2F, 原po只是想用不同比较方法来避开float精确度 07/28 20:08
10F:→ VictorTom:问题不适合直接用 == 的case吧我猜....@_@" 07/28 20:08
11F:推 abcabcabc:我跟2F的疑问好像一样耶 07/28 20:20
12F:推 VictorTom:去看 #1AO_CbEU 这篇, 最近a大刚好回过....~_~ 07/28 21:22
13F:→ lairrol:没错!!我遇到的问题就是要避开精确度~我刚睡醒有想到一个 07/29 04:30
14F:→ lairrol:新方法耶....把两个浮点数转成二进位码去比较会比较快吗? 07/29 04:31
15F:→ lairrol:可以自己决定精准度然後又避开字串的处理 07/29 04:32
16F:推 VictorTom:楼上, 理论上不会~_~ 任何一个浮点数要储存都可以会经过 07/29 09:28
17F:→ VictorTom:truncate後, 最後用32bit或64bit的空间储存起来.... 07/29 09:28
18F:→ VictorTom:所以浮点直接==不出来的, 32/64 bit的bit binary一样比 07/29 09:29
19F:→ VictorTom:不出来; 何不把您的用途/值域直接贴上来讨论算了~_~ 07/29 09:30
20F:→ ledia:== 也是在比 bit 呀 XD 07/29 10:40
21F:→ yk66:别想了,float.h里面有DBL_EPSILON,FLT_EPSILON等常数,请查阅 07/29 12:14







like.gif 您可能会有兴趣的文章
icon.png[问题/行为] 猫晚上进房间会不会有憋尿问题
icon.pngRe: [闲聊] 选了错误的女孩成为魔法少女 XDDDDDDDDDD
icon.png[正妹] 瑞典 一张
icon.png[心得] EMS高领长版毛衣.墨小楼MC1002
icon.png[分享] 丹龙隔热纸GE55+33+22
icon.png[问题] 清洗洗衣机
icon.png[寻物] 窗台下的空间
icon.png[闲聊] 双极の女神1 木魔爵
icon.png[售车] 新竹 1997 march 1297cc 白色 四门
icon.png[讨论] 能从照片感受到摄影者心情吗
icon.png[狂贺] 贺贺贺贺 贺!岛村卯月!总选举NO.1
icon.png[难过] 羡慕白皮肤的女生
icon.png阅读文章
icon.png[黑特]
icon.png[问题] SBK S1安装於安全帽位置
icon.png[分享] 旧woo100绝版开箱!!
icon.pngRe: [无言] 关於小包卫生纸
icon.png[开箱] E5-2683V3 RX480Strix 快睿C1 简单测试
icon.png[心得] 苍の海贼龙 地狱 执行者16PT
icon.png[售车] 1999年Virage iO 1.8EXi
icon.png[心得] 挑战33 LV10 狮子座pt solo
icon.png[闲聊] 手把手教你不被桶之新手主购教学
icon.png[分享] Civic Type R 量产版官方照无预警流出
icon.png[售车] Golf 4 2.0 银色 自排
icon.png[出售] Graco提篮汽座(有底座)2000元诚可议
icon.png[问题] 请问补牙材质掉了还能再补吗?(台中半年内
icon.png[问题] 44th 单曲 生写竟然都给重复的啊啊!
icon.png[心得] 华南红卡/icash 核卡
icon.png[问题] 拔牙矫正这样正常吗
icon.png[赠送] 老莫高业 初业 102年版
icon.png[情报] 三大行动支付 本季掀战火
icon.png[宝宝] 博客来Amos水蜡笔5/1特价五折
icon.pngRe: [心得] 新鲜人一些面试分享
icon.png[心得] 苍の海贼龙 地狱 麒麟25PT
icon.pngRe: [闲聊] (君の名は。雷慎入) 君名二创漫画翻译
icon.pngRe: [闲聊] OGN中场影片:失踪人口局 (英文字幕)
icon.png[问题] 台湾大哥大4G讯号差
icon.png[出售] [全国]全新千寻侘草LED灯, 水草

请输入看板名称,例如:e-shopping站内搜寻

TOP