C語言中a 0x0表示什麼?

2021-08-20 23:10:17 字數 972 閱讀 2914

c語言中a&0x0表示什麼?

一:說明

1.在c語言中,&可以用作取位址和按位與操作兩種運算。不過取位址是針對變數的,當前&後是乙個常量,在c語言中不允許取位址操作,所以這個是語句的一部分,前面還要有乙個操作變數。比如a&0x01。

2.&是雙目操作符,需要兩個運算元,代表含義為按位與操作。

3.分析運算元0x01的二進位制值為0000 0001綜合按位與的運算規則,可以知道除最低位外,結果值為0,最低位結果與前乙個運算元的最低位相同。

於是a&0x01就是取a的最低位值的運算。

eg:

(1)當a=0x00時

a = a&0x01 ---> 0000 0000 = 0000 0000 & 0000 0001

(2)當a=0x01時

a = a&0x01 ---> 0000 0001 = 0000 0001 & 0000 0001

(3)當a=0x11時

a = a&0x01 ---> 0000 0001 = 0001 0001 & 0000 0001

二:應用例項

1.判斷乙個數是奇數還是偶數

#include #include int main (void)

2.取乙個數的最低位的相反數

warm=(~warm)&0x01;

(1)當warm=0x00時

warm=(~warm)&0x01; ---> 0000 0001 = 1111 1111 & 0000 0001

(2)當warm=0x01時

warm=(~warm)&0x01; ---> 0000 0000 = 1111 1110 & 0000 0001

(3)當warm=0x11時

warm=(~warm)&0x01; ---> 0000 0000 = 1110 1110 & 0000 0001

C語言中的 0 是什麼?

0 是什麼?0 是轉義字元 為了告訴編譯器 0 是空字元,而不是字元0.字元 0 對應的二進位制為00110000,而 0 對應的二進位制為00000000 在c語言中通常用乙個字元陣列來存放字串,0 是字串的結束標誌,任何字串之後都會自動加上 0 如果字串末尾少了 0 轉義字元,則在輸出時可能會出...

C語言雜記 0x0B

首先看兩個例子 一 二 這兩個例子裡面不同的地方就是s的不同,c語言程式在執行的時候記憶體分配有這樣的規則 區域性變數在棧中自動生成記憶體,比如上面所說的s就是在棧中生成記憶體 而s 指向的內存在常量區,就類似於我們在所有程式之前宣告char s 100 一樣 棧由編譯器自動生成釋放,而常量區的記憶...

語言雜記 0x0A

今天寫乙個字串反轉練練手,涉及到手動輸入字串時出現了一些問題 char s scanf s s 採用字元陣列的方式輸入的時候完全沒有問題,但是採用下面的方式的時候就會報錯 核心以轉儲 char s scanf s s 什麼是核心已轉儲呢?通俗的理解就是訪問了不能訪問的內容,如下 所以我們的char ...