登录
|
注册
公司
标签
文章
搜索
经典指数
2016
C/C++
类别
公司
职位
年份
其他
添加
原因
删除
852
浏览数
0
收藏数
math.h的abs返回值()
不可能是负数
不可能是正数
都有可能
不可能是0
还没有评论
分享到:
举报
纠错
0
/
512字
选择纠错区域
题目内容有错
题目标签有错
提交纠错
切换
提交评论
请先
登录
后评论.
1 个答案
0
0
哦凑,中枪了= =! 我再补充几点吧。 c中的函数申明为 int abs(int num); 正常情况下, num为0或正数时,函数返回num值; 当num为负数且不是最小的负数时(不要问我最小的int类型负数是多少,上面那个图里面有真相),函数返回num的对应绝对值数,即将内存中该二进制位的符号位取反,并把后面数值位取反加一; 当num为最小的负数时(即0x80000000),由于正数里int类型32位表示不了这个数的绝对值,所以依然返回该负数。 这就是设计这个库函数的时候为什么把返回值设置为int而不是unsigned的原因,当然如果把返回值设置为unsigned是不是更加合理呢,这个也许有更好的解释,期待...
还没有评论
举报
切换
提交评论
请先
登录
后评论.
撰写答案
提交回答
通往牛逼的路上,请先登录!
扫描后移动端查看本题
我也分享一个题目
×
登录
注册
找回密码
记住登录
登录
快速注册
直接第三方登录
×
保存答案