第一次嵌入式C 學習

2021-10-18 19:11:03 字數 973 閱讀 5251

[資料]乘法 * 2 (二進位制下的移位)

例如:m<< 1   =    m*2

m << n  =    m * 2^n

4 :   0 0 1 0 0

8:    0 1 0 0 0

第一位與符號變數有關

除法  m>> n   =   m / 2^n

int a;   a>> n

unsigned int a;    a >>n

a & 0 ====>   0    (&:遮蔽,遮蔽低八位

a & 1 *****>  1   (&:取出,取出高八位

&:清0器

a | 0 *****> a    (| : 保留)

a | 1 ====> 1   

| : 設定器

int a;

a  | (0x1a  & ~(0x1<1 ^ 1 = 0 (相同取0,為假;不同取1,為真)

用於交換 a ,b 的值

int a=20;

int b=30;

a = a ^ b;

b = a ^ b;

a = a ^ b;

a = 30, b = 20

~ : 逐位取反 (與!不同)

1)函式內的變數

int fun(){

int a;  ====> static int a;

2) 函式外部的變數(全域性變數)

int a ;   ====> static int a ;

int fun() {

3) 函式的修飾符

int fun() ===> static int fun()

const int a = 100  (a不能變)

嵌入式C學習第一次任務

位運算 用於對整數型別 int,char,long 等 變數的二進位制形式的 某一位 bit 或者若干位進行操作。按位與 按位或 按位異或 按位取反 左移 左邊消失,右邊補0 右移 右邊消失,左邊補符號位 位運算的運算元是整數型別或字元型.1.將參與運算的兩運算元各對應的二進位制位進行與 操作,只有...

嵌入式C學習第一次任務

數學中的並且,遇0則清0 數學中的或者,1或0為1 1 0 或1 0 為1 0 按位異或,如果兩個相應的二進位制位值不同則為1,否則為0。取反,1變0 0變1 右移,是將乙個二進位制位的運算元按指定移動的位數向右移動,移出位被丟棄,左邊移出的空位或者一律補0或者補符號位 左移,是將乙個二進位制位的運...

嵌入式C學習第一次任務

運算子描述 按位與操作,按二進位制位進行 與 運算。運算規則 0 0 0 0 1 0 1 0 0 1 1 1 假設a 的值為 60 0011 1100 變數 b 的值為 13 0000 1101 則 a b 將得到 12,即為 0000 1100運算子描述 按位或運算子,按二進位制位進行 或 運算。...