㈠ 单片机编程 用keil C 写程序 怎么样取变量的绝对值
给你举个例子吧
比如说:变量a=0x15,那么他的二进制数就是0001 0101,而其相反数就是最高位变为1或者0
然后代码这么写:
temp=a<<1;//表示a的二进制数左移一位,移除的最高位(即符号位)放到了CY(状态标志位)中,而低位补零,即temp=0010 1010,CY=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