c語言中 (n & 1)什麼意思啊
- 2021-09-10
首先,a&b表示,a和b在計算機中儲存的對應二進位制碼按位取與:
例如:
a的二進位制碼為:0111,b的二進位制碼為:0011時:
0111
& 0011
= 0011
對應十進位制形式為:7&3=3;
同理:因為1的對應儲存的二進位制碼除了最低位,其他位都是0,所以,n&1要麼為1(n為奇數時,n的最低位為1),要麼為0(n為偶數時,n的最低位為0)。
綜上可得:n&1等效於 n%2==1
是相與的意思。算術“與”操作。“&&”這是邏輯“與”操作。基本操作有
0&1=0;
1&1=1;
0&0=0;
這一題中無論n的值是多少。只要它二進位制的最後一位是0。結果就是0;如果是其最後一位是1結果就是1。
回答樓主這樣的題目,挺沒勁的。。別事事問知道,您不能多看看書啊??這樣學的更快啊。
這個是讓n和1做位與運算,假設你的n是0x0002,二進位制就是0000000000000010,那麼1是0x0001,二進位制就是0000000000000001,兩個做位運算後就是0,每個位和每個位要做位與運算
%n與其他格式說明符號不同。%n不向printf傳遞格式化資訊,而是令printf把自己到該點已打出的字元總數放到相應變元指向的整形變數中。
在第一個%n前為jamsa,5個字元,因此first_count=5;在第二個%n前是jamsa‘s 1001 c & c++ tips,字元數是25。
因此tc3的結果是正確的。
上一篇:c51中可不可以重複定義變數?
下一篇:80後的一個動畫片的名字叫什麼