在微控制器的C語言中,temp temp《1,是左移一位,最低位補零,還是左移一位,最高位補到最低位

2021-04-14 05:52:06 字數 2449 閱讀 4596

1樓:匿名使用者

這跟你的編譯器有關吧,如果是keil c51 應該是是左移一位,最低位補零。具體你可以反彙編看一下。

2樓:匿名使用者

據我所知, 幾種c/c++編譯器, 《左移,都是最低位補零, 這不會有二義性.

幾種c/c++編譯器只是在對有符號數 位右移》 倒是有區別.

temp = (temp<<1)+1;是什麼意思?

3樓:匿名使用者

du你好!

zhi這屬於單片dao機c語言程式設計語句:

專 temp=temp<<1+1是指將temp左移一位屬後加1。

參考資料:

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

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

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

4樓:匿名使用者

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

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

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

if(!(p1 & temp))

else

5樓:匿名使用者

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

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

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

6樓:寂寞

temp << 1 是把temp左移1位

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

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

temp=0x1|(temp<<1) 什麼意思

7樓:匿名使用者

,|1、假設temp=0x1|(temp<<1);是c語言語句。

2、0x1表示16進位制的1,|是按位或運算子,《是左移運算子。內3、從等式看是容把16進位制1跟temp左移一位後的值按位或,然後把結果賦值給temp。

4、16進位制數的基數是16,是逢16進位制的一種計數方式,用0~9,a~f表示。

5、左移運算是把數值轉換成二進位制數,然後整體向左移動,移出部分丟失,右邊補0。

6、按位或是把兩個運算元都轉換成2進位制,然後對兩個運算元進行按位加。

8樓:匿名使用者

temp左移一位後,結果與 0x1 進行或運算。

51微控制器c語言中<<=和|=的意思是什麼?

9樓:匿名使用者

u8comdata<<=1 相當於 u8comdata = u8comdata<<1,

u8comdata|=u8temp 相當於 u8comdata = u8comdata | u8temp。

類似的還有:+=、 -=、 *= 、 /= 、%=、>>= 、&= 、~= 、 ^=。

這在c語言中叫做複合賦值運算子。格式如下:

變數 複合賦值運算子 表示式

解釋:首先對變數進行某種運算(運算子就是"="前的運算子,運算物件就是"="後面的表示式或變數或常數),然後再將結果賦值回該變數(就是「=」)。

10樓:匿名使用者

這兩個都是特殊的賦值運算子。這類運算子的形式為op=,為雙目運算子,即需要左右都有操作表示式。其中左側必須為可改變值的變數,右側可以為任意表示式。

對於op=的運算子,其含義為:

aop=b; 等同於a = a op b;

對於題目中涉及的兩個運算子,分別為:

a <<= b; 等效於a = a << b; 即a左移b位後賦值給a。

左移操作的規則為,高b位捨去,其它依次向高位(左側)移動b位,低b位新增0。

a|=b;等效於a=a|b;即a與b執行按位或操作,結果賦值給a。

或操作的規則為,按位執行,只有相同位上的值均為0時,結果的對應位上為0,否則結果對應位上為1。

11樓:匿名使用者

a <<= b; 就是 a = a << b;

a |= b; 就是 a = a | b;

微控制器c語言中interrupt4表示什麼意思

interrupt 0 外部中斷0 interrupt 1 t0中斷。interrupt 2 外部中斷1 interrupt 3 t1中斷。interrupt 4 串列埠中斷。我來告訴你實質 微控制器的中斷處理是這樣工作的,當有中斷請求後 並且允許中斷 cpu就跳轉到特定的地址執行程式,在組合語言中...

C語言程式設計,微控制器,微控制器C語言程式設計程式設計,一臉懵,求大佬們教我

一點都不會做不應該的,你寫出來,可以幫你修改 如按鍵如何獲取,定時器如何設定等等,基本都是照抄例程的 微控制器c語言程式設計程式設計,一臉懵,求大佬們教我 是要 實現呢?還是在開發板上實現?這種程式,你可以在這裡搜尋到答案的。求一個簡單的51微控制器c語言程式設計 機的外部結構 1.dip40 雙列...

51微控制器c語言中delay函式是怎麼定義和使用的

定義一個延時xms毫秒的延時函式 void delay unsigned int xms xms代表需要延時的毫秒數 使用 void delay10us uchar ms i 延時值 1.75 12 ms 15 41 在c51中進行精確的延時子程式設計時,儘量不要或少在延時子程式中定義區域性變數,所...