c語言temp》1和temptemp》1的區別

2021-03-19 18:33:12 字數 1868 閱讀 3411

1樓:匿名使用者

其實就是逗號運算

temp>>1是不給temp賦值的。

temp=temp>>1會把變化的值又賦給temp

微控制器c語言程式設計語句temp=temp<<1和temp=temp<<1+1怎麼理解 ,他們有什麼區別?

2樓:匿名使用者

temp=temp<<1表示將temp左移一位;temp=temp<<1+1則是將temp左移一位後加1。左移的含義:比如temp=00001111b(二進位制),那麼temp<<1的結果是00011110,也就是temp的資料位依次向左移動一位,最高位可以認為被捨棄,最低位由0補齊。

這是基本的位運算,可以參考相關的c語法書目。

3樓:匿名使用者

temp = temp << 1 右移一位,相當於乘以2

temp=temp<< 1+1 +運算優先順序高於<<,本句相當於temp=temp<<2,右移2位,相當於乘以4

4樓:匿名使用者

temp=temp<<1 等同於 temp = temp * 2;

temp = temp<<1 + 1 等價於 temp = temp * 2 + 1;

c語言 "temp<<1"是什麼意思,說原理

5樓:

位移運算子,變數值以二進位制的形式,往高位移動,最高位被截掉,最低位補0。

6樓:獅子**的青春

temp的二進位制左移一位

比如5<<1;

5=0101;

左移一位變為:1010 = 10;

求解微控制器中c編的幾個指令 temp <<= 1 和temp << 1的區別 if(!(p1 & temp)) 這個是什麼意思?

7樓:匿名使用者

temp << 1;計算 temp 左移一位的值,語句結束後temp沒有變化

temp <<= 1相當於temp=temp << 1也就是 計算 temp 左移一位的值,並把版這個值賦給tempif(!(p1 & temp)) 就是 計算 p1 與 temp按位權

與運算的值,然後判斷這個值是否為0

if(!(p1 & temp))

else

8樓:匿名使用者

temp <<= 1是指temp左移1位,再送回temp,相當於temp=(temp<<1)。

temp <<=1是將temp左移1位。

if(!(p1 & temp)) 是指如果p1的值和temp的值相與專的結果為0,就執行if語句後屬面的操作。

9樓:寂寞

temp << 1 是把temp左移1位

temp <<= 1 是把 temp << 1 的結果賦值給 temp

if(!(p1 & temp)) 是判斷p1與temp按位與的結果是否不為0

c語言中temp=1<

10樓:捐你妹

你要用二進

制的方式來考慮這種問題,比如你說的

i=3,temp = 1<是

多少。首先對於1來說,二進位制就內是0001,移位後是1000,然容後轉成10進位制就是8了。

一般來說,這種移位是為了做與運算的時候判斷這一位是否為1。

對於你提的後面那一串就是將wgm01,wgm00,***01,***00,cs00,cs02這幾個位置都置一。這個一般是作為判斷位來使用的。

c語言程式設計求12320的和,C語言程式設計求12320的和

求1 2 3 20 最好是用迴圈做,用遞迴法,程式的資源開銷大,效率低,運算時間將更長!include int fact int i else void main printf result d sum main 答案如下 include main printf d sum 用c語言程式設計求出1 ...

c語言中a1為什麼和a1等價,C語言中,a1為什麼和a1等價?

a 1 是陣列的第2個元素 第一個是a 0 所以 a 1 的地址是陣列的首地址 1,陣列的首地址也可以用 a 表示,所以 a 1是 a 1 的存放地址,所以 a 1 a 1 a 1 的值存在a 1這個地址中 a 1 就是取出這個地址中的內容,他們都是同一個東西當然值都一樣 c語言中,a 1和 a 1...

求用c語言把1到10的階乘的和,用C語言編寫1到10的階乘

你這道復題輸出先看看是什麼,你 制輸出就不是求階乘的。include main getch 當然這個程式可以求的答案,但是還有很多warning,寫程式如果心裡沒有想法就不要寫,要不然就算答案對,對自己也沒有什麼提高。心裡首先把程式執行一遍,這是每個程式設計師都應該做到的。先把基礎學好吧。你上面的錯...