c++中如何求一个数的绝对值

 我来答
19ej98
2011-02-23 · TA获得超过1933个赞
知道小有建树答主
回答量:815
采纳率:0%
帮助的人:603万
展开全部
自己写一个宏吧,很容易的。所谓取绝对值,也就是在它小于零的时候取它的负值嘛,很简单:
#define _ABS(x) ((x) > 0 ? (x) : -(x))

你的问题在于,abs函数的参数是整形的,而你输入的参数是浮点型的,因此经过绝对值转换后,会被强行取整。
前面有人给你提供了一个函数,那个函数有同样的问题。所以我建议你用我上面写的这个宏,支持任意类型。
其实还有一种比宏更好的方法是使用模板函数,可能对你来说比宏更难以理解,因此这儿我就不介绍了。
其实1楼的方法,就是用fabs也能解决,不过,这么简单的运算就用库函数貌似不太值得。
此外,顺便提一个与本问题无关的问题,对浮点型数据进行==的比较是没有任何意义的,理由这儿我就不说了,你可以自己查一下相关资料。同理,对浮点型数据进行>=运算也无意义。

参考资料: 百度一下

匿名用户
2011-02-23
展开全部
自己写一个宏吧,很容易的。所谓取绝对值,也就是在它小于零的时候取它的负值嘛,很简单:
#define _ABS(x) ((x)
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
数学达人郎老师
2021-03-21 · TA获得超过1338个赞
知道小有建树答主
回答量:810
采纳率:100%
帮助的人:41.7万
展开全部

七年级数学易错题 一个数的绝对值等于它的平方,这个数是 ( )。

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式