1、算數操作運算子 +、-、*、/、%
加法:a+b, ab最好是同型別
乘除:乘法在很多cpu中並不支援,乘除法能不用就不用,可能會使執行變差
求模/求餘數: n%m=res[0~(m-1)]
求模應用場景:
得到乙個m進製的乙個個位數
得到乙個迴圈資料結構的下標
2、邏輯運算
返回結果:非0(真)或0(假)
1、||、&&
a||b /= b||a 原因(a若為真則不會執行b 預判斷)
a&&b /= b&&a
2、>, >=, < ,<=
3、! 邏輯取反
對比位運算中取反操作 ~a
4、? : 問好冒號表示式
if else
3、位運算 **
1、移位 <<, >> 乘除法盡量用2^n
右移:除法 除以2
2、&,| 與,或
完成逐位取或遮蔽
取出:a&1–>a
或|:
例:設定乙個資源的bit5為高電平,其他位不變:(bit5為第六位)
int a;
a=a|100000;---->a|(0x1<<5);*****>a|(0x1<:對a的第n位設定為高電平
清除第五位:要保證只有第五位為0其餘都是0,不能用十進位制與
a=a&(~(0x1<
3、^異或、~取反
取反~:
思考:想把456bit設定為101?
4、賦值運算
前面所有的符號都不具備更新能力;在後面加上=就具備自更新
5、記憶體訪問符號
{} ->位址訪問、. 變數訪問 對於連續空間的訪問方法
&、*
C語言之運算子 (筆記)
下表顯示了 c 語言支援的所有算術運算子。假設變數 a 的值為 10,變數 b 的值為 20,則 運算子描述例項 把兩個運算元相加 a b 將得到 30 從第乙個運算元中減去第二個運算元 a b 將得到 10 把兩個運算元相乘 a b 將得到 200 分子除以分母 b a 將得到 2 取模運算子,整...
C語言之位運算子
位運算子分析 1.c語言中的位運算子 c語言中的位運算子直接對bit位進行操作,其效率最高。速度快於四則運算和邏輯運算。2.左移和右移的注意點 左運算元必須為整數型別 char和short被隱式轉換為int後進行移位操作 右運算元的範圍必須為 0,31 左移運算子 將運算數的二進位制位左移 規則 高...
嵌入式C語言 學習筆記
一 位運算 符號運算規則 與 兩個位都為1時,結果才為1 從真假方面看,只有當兩個位都為真時,結果才為真 或 兩個位都為0時,結果才為0 從真假方面看,如果兩個運算物件中相應的乙個位為真或者兩個位都為真,那麼結果為真 異或 兩個位相同為0,相異為1 從真假方面看,如果兩個運算物件中相應的乙個位為真且...