• 已解决 73482 个问题
  • 已帮助 5993 位优秀工程师

keil使用绝对值函数用不了

yhj416606438 2021-11-15 浏览量:1272
已经使用math头文件了,但是abs函数用不了
0 0 收起

我来回答

上传资料:
选择文件 文件大小不超过15M(格式支持:doc、ppt、xls、pdf、zip、rar、txt)
最佳答案
  • 有点abs函数是属于stdlib中的函数,而且只能求整数绝对值。

    你要查一下你这个math库中是否包含abs函数。


    如果需要对浮点数、双精度浮点数和整数都要取绝对值,其实自己定义一个函数宏也不是太复杂。



    #define ABS(a) ((a)<0?((a)*(-1)):(a))


    • 发布于 2021-11-15
    • 举报
    • 评论 0
    • 0
    • 0

其他答案 数量:3
  • 举个例子
    比如说:变量a=0x15,那么他的二进制数就是0001 0101,而其相反数就是最高位变为1或者0
    然后代码这么写:
    temp=a<<1;//表示a的二进制数左移一位,移除的最高位(即符号位)放到了CY(状态标志位)中,而低位补零,即temp=0010 1010CY=1
    if(CY==1)//如果是正数,则最高位变成1
    neg_a=a|(0x80+a);//即0001 0101|(1000 0000+0001 0101)=1001 0101
    else
    neg_a=a-0x80//即1001 0101-1000 0000=0001 0101
    • 发布于2021-11-15
    • 举报
    • 评论 0
    • 0
    • 0

  • 用不了是什么意思,是编译出错,还是结果不对呢。
    • 发布于2021-11-17
    • 举报
    • 评论 0
    • 0
    • 0

  • 要看一下你的这个函数是不是调用的math库里的,函数名是不是一样的
    • 发布于2021-11-23
    • 举报
    • 评论 0
    • 0
    • 0

相关问题

问题达人换一批

keil使用绝对值函数用不了