㈠ 單片機編程 用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