請問一下C語言中的《和》是什麼意思,能否用例子解釋一下,謝謝

2022-08-10 19:00:19 字數 4135 閱讀 7285

1樓:匿名使用者

「<<」把「<< 」左邊的運算數的各二進位全部左移若干位,由「<<」右邊的數指定移動的位數,高位丟棄,低位補0。如a<<4, 假設a=00000011(十進位制3),左移4位後為00110000(十進位制48)。

相反方向的就是右移運算子「>>」

2樓:匿名使用者

《左位移 >>右位移 用於二進位制,微控制器c用到:

如0100 1011左移一位是1001 0110a<<4 把a 向左移4 位 如a=00000011(十進位制3),左移4 位後為00110000(48)

右移 a=15,a>>2 把000001111 右移為00000011

3樓:lee木頭人

a<=0。

將整型數a按二進位制位向左移動m位,高位移出後,低位補0。

例12<<2,12的二進位制是1100,左移兩位成0011,得到3。

>>將整型數a按二進位制位向右移動m位,低位移出後,高位補0

4樓:谷旭鋒

這是c++中的。輸入資料cin>>a>>b>>c: 相當於int a,b,c;

輸出資料cout<

c語言中「>>=,<<=,&=,^=,|=」分別表示什麼意思?請舉例說明

5樓:弋風

1、c語言中的 >>= 意思為:右移後

賦值**示例為:

x = 8; x >>= 3;

右移後結果為:00000000 00000000 00000000 00000001

2、c語言中的 <<= 意思為:左移後賦值**示例為:

x = 8;

x <<= 3;

左移後賦值結果為:00000000 00000000 00000000 01000000

3、c語言中的 &= 意思為:按位與後賦值**示例為:

x = 0x02;

x &= 0x01;

按位與後的結果為:0x00

4、c語言中的 ^= 意思為:按位異或後賦值**示例為:

x = 0x02;

x ^= 0x01;

按位異或的結果為:0x03 等同於00115、c語言中的 |= 意思為:按位或後賦值**示例為:

x = 0x02;

x  |= 0x01;

按位或的結果為:0x03 等同於0011

6樓:匿名使用者

補充一個騷操作,>>=用作除法取平均值。

假如for(;i<8;i++);i>>=3;結果為1,所以》=3相當於除以8。

原理:我們知道,十進位制下,每向每向右移1位,結果相當於除以10,在二進位制下就相當於除以2,所以上面的**相當於8/2^3,這個方法只能夠用於求2的n次方(比如2、4、8、16、32……)的平均值,優點是效率比除法快(在沒有硬體除法器的微控制器上,和編譯器優化也有關)。

當然,反過來,向左移位就是乘法了。

7樓:匿名使用者

複合賦值。a>>=b相當於 a = a >> b; 以此類推。

a>>=b 表示把二進位制a右移b位,比如:

a = 8;

a >>= 3;

即:二進位制8: 00000000 00000000 00000000 00001000

右移3位: 00000000 00000000 00000000 00000001

結果是1,再把右移結果賦值給a, 即最後a=1。

<<= 同上,只不過是左移賦值。

&= 是按位與之後賦值,^=是按位異或之後賦值,|=是按位或之後賦值。與,或以及異或的操作很簡單:

101010         101010        101010

& 011100       | 011100      ^ 011100

---------     ----------    ----------

001000         111110        110110

8樓:匿名使用者

a = 0010(0x02)

a >>= 1; (a 右移1位並把右移的結果重新賦值給a) 此時a = 0001(0x01);

a <<= 1;(a左移1位並把左移的結果重新賦值給a) 此時 a = 0100(0x04);

a &= 0x01;( a與0x01 按位與,並把按位與的結果重新賦值給a)。此時a = 0x0;

a |= 0x01;( a與0x01 按位或,並把按位或的結果重新賦值給a)。此時a = 0011(0x03);

a ^= 0x01;( a與0x01 按位異或,並把按位異或的結果重新賦值給a)。此時a = 0x03;(異或的意思就是,該位均為相同的則該位結果為0,該位均為不同的則該位結果為1)

請問一下c語言,下面程式中的兩句是什麼意思啊,謝謝!

9樓:

貌似嵌入式(c51之類)相關的c**。

第一句定義陣列(常量)放在程式儲存區(放在程式儲存區訪問速度比較快,關鍵字code)

第二句就是執行一次空操作(就是什麼都不做,但是佔用一個指令週期,常用來延遲)

10樓:匿名使用者

這段**是微控制器的c語言程式

第一句是定義了square這個無符號字元型陣列,其中的code是儲存器型別宣告,表示squre是存放在程式儲存器中的

第二句的_nop_()函式,是包含在標頭檔案中的,作用是產生一個微控制器的nop指令,延時了一個機械週期(機械週期是微控制器時鐘脈衝週期的12倍,跟你所採用的時鐘電路有關),你可以簡單的理解這個語句就是個延時函式,延時時間為一個機械週期。

希望對你有所幫助。

請問下在c語言中<<=和+=是什麼意思哦。比如a<<=4;a+=(b&0xf0)>>4;謝謝...

11樓:

a<<=4;等價於a = a << 4;

a+=(b&0xf0)>>4;等價於a = a + ((b & 0xf0) >> 4);

12樓:匿名使用者

a = a<< 4

a = a + .....

有誰能否幫我解釋一下c語言中的volatile關鍵字,最好是要有程式例子的。謝謝啊!!

13樓:匿名使用者

volatile 關鍵字告訴編譯器改變數是一個「易變」變數,避免編譯器將該變數進行優化為暫存器型,如優化為暫存器型別,則程式對該變數的操作只對暫存器起作用,而不會操作與真正的外設地址。多用於對外設(如暫存器)的宣告。

如 #define reg_ctrl_val (*((volatile unsigned int *)0x4000 0000))

14樓:匿名使用者

告訴編譯器這是一個多執行緒程式使用的變數,初學沒什麼用,不用深究~

請問一下c語言中(m=a>b)&&(n=c>d)a=1b=2c=3d=4是什麼意思?詳細一下謝謝

15樓:匿名使用者

(m=a>b)&&(n=c>d)

a>b的布林值賦值(1或0)給m,如果為真,繼續執行n=c>d.如果a>b為假,則不執行c=c>d

a=1b=2c=3d=4

這表示式有問題

16樓:匿名使用者

&&是條件與,表示只有前後兩個判斷語句的布林值都為1(判斷結果都為真)的時候才滿足條件。按初a=1b=2c=3d=4來看,&&前後的條件都為假,所以就是 0&&0,最終結果為假。

17樓:手動閥隧道

m=a>b就是把a>b的比較結果賦給m,即a>b成立時,m=1否則m=0

同理n=c>d也是一樣

那麼(m=a>b) && (n=c>d)的意思就是(a>b)&&(c>d),同時把a>b的結果賦給m,c>d的結果賦給n

a=1b=2c=3d=4這個不符合語法規則啊??是不是a=1;b=2;c=3;d=4?

請問一下啊,c語言語句中的price是什麼意思?謝謝咯~!

18樓:子辰

我覺得只是一個變數,名稱叫price,比如**之類的

請問c語言中0是什麼意思,C語言中 0 是什麼意思

字元常來量佔一個位元組的記憶體空間自。字串常量佔的內bai存位元組數等於字元du串中字zhi節數加1。增加的一個dao位元組中存放字元 0 ascii碼為0 這是字串結束的標誌。例如 字串 c program 在記憶體中所佔的位元組為 c p r o g r a m 0 字元常量 a 和字串常量 a...

c語言中c什麼意思,c語言中!是什麼意思?

c表示取c的邏輯非,例如if c 表示如果c 0,則語句成立。不曉得你要問什麼 如果想要更確切的解釋,請貼出相關 一種計算機程式語言,是現在運用最廣泛的語言,用於編寫程式 邏輯運算子,取反的意思 真 假 假 真 你確定歎號是中文狀態的嗎?c語言中!是什麼意思?include stdio.h main...

c語言中是什麼意思,C語言中 是什麼意思

詳細,我摘抄了一些,詳細的你看以看看。有很例子,好懂!邏輯運算子把各個運算的變數 或常量 連線起來組成一個邏輯表示式。邏輯運算子有4個,它們分別是 邏輯非 邏輯或 邏輯與 異或 在位運算裡面還有 位與 位或 的運算。什麼是邏輯運算 邏輯運算用來判斷一件事情是 對 的還是 錯 的,或者說是 成立 還是...