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,比如**之類的 字元常來量佔一個位元組的記憶體空間自。字串常量佔的內bai存位元組數等於字元du串中字zhi節數加1。增加的一個dao位元組中存放字元 0 ascii碼為0 這是字串結束的標誌。例如 字串 c program 在記憶體中所佔的位元組為 c p r o g r a m 0 字元常量 a 和字串常量 a... c表示取c的邏輯非,例如if c 表示如果c 0,則語句成立。不曉得你要問什麼 如果想要更確切的解釋,請貼出相關 一種計算機程式語言,是現在運用最廣泛的語言,用於編寫程式 邏輯運算子,取反的意思 真 假 假 真 你確定歎號是中文狀態的嗎?c語言中!是什麼意思?include stdio.h main... 詳細,我摘抄了一些,詳細的你看以看看。有很例子,好懂!邏輯運算子把各個運算的變數 或常量 連線起來組成一個邏輯表示式。邏輯運算子有4個,它們分別是 邏輯非 邏輯或 邏輯與 異或 在位運算裡面還有 位與 位或 的運算。什麼是邏輯運算 邏輯運算用來判斷一件事情是 對 的還是 錯 的,或者說是 成立 還是...請問c語言中0是什麼意思,C語言中 0 是什麼意思
c語言中c什麼意思,c語言中!是什麼意思?
c語言中是什麼意思,C語言中 是什麼意思