`
xumingrencai
  • 浏览: 1183820 次
文章分类
社区版块
存档分类
最新评论

抓狂!!对浮点数使用 abs() 函数求绝对值的代价!!

 
阅读更多

因程序需要,需求出浮点数的绝对值~

第一个想到的函数就是 abs(),不料无论怎么求,abs出来的结果都是0!!

是的,就是0!!

真是他妈的太奇怪了,我检查了一遍又一遍,代码的写法没有发现任何的问题,

可以求出来的结果他妈的就是0!!!

白白浪费了哥1个半小时以上,不泻泻火还真是他妈的受不了!!

这次我是真的学乖了,今后不管遇到了什么问题,10分钟每搞出来马上去google查!!

不过也得到了一些意外的收获,那就是我写的那块儿原来没我想地那么复杂,

基本上,求浮点数绝对值地问题解决了以后,将游戏安装到机器上得到地效果已经是相当地棒了。。

一句话,问题解决了就好。。。其实这次犯在这个问题上面还是怪自己太执拗,想当然~

总结一些,以下是从其他网站上面得到地一些新知识:

Question:

How do I convert a negative number to an absolute value in Objective-C?

i.e.

-10

becomes

10?

Answer:

Depending on the type of your variable, one of

abs(int),

labs(long),

llabs(long long),

imaxabs(intmax_t),

fabsf(float),

fabs(double), or

fabsl(long double).

(Alas, there is nohabs(short)function.Orscabs(signed char)for that matter...)


下面粘上我更正之后地代码,可以试着将代码中的 fabsf 替换成 abs,可以得到截然不同的结果



分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics