1樓:拉汀
c語言中^與bai&都是位運算子,du^是按位或運算,zhi&是按位dao和運算。要知道,在計回算機實際進行運答算時,是把使用者輸入的資料轉化成2進位制進行運算的。比如1就會轉化為00000001 而2會轉化為00000010 ,那麼a^b就相當於對這兩個二進位制數字中每一位都對應進行或運算。
例如00000001和00000010或運算時,兩個數每一位只要有一個是1就是1,只有都為0時才為0,
因此結果為00000011 ,而這個結果與c進行位的和運算,即:對應位都為1才是1,否則為0
因此,00000011與3的二進位制數00000011的和運算結果為00000011
在輸出的時候計算機把二進位制數轉化為%d所表示的十進位制數,即3輸出
2樓:匿名使用者
& 是 按位與,兩個都是 1 的時候結果為1,否則結果為0
^ 按位異或—— 若參加運算的兩個二進位制位值相同則為0,否則為1;
3樓:gta小雞
&按位與,^按位異或
c語言中^代表什麼?什麼意思?
4樓:苑
c語言中「 ∧ 」是「按位異或」運算子(bitwise exclusive or operator)。
整數在計算機中用二進位制的位來表示,c語言提供一些運算子可以直接操作整數中的位,稱為位運算,這些運算子的運算元都必須是整型的。按位異或運算子「^」是雙目運算子。 其功能是參與運算的兩數各對應的二進位相異或,當兩對應的二進位相異時,結果為1。
5樓:天涯明遠
符號^在c語言裡是「按位異或」的意思。
按位異或運算 按位異或運算子「^」是雙目運算子。其功能是參與運算的兩數各對應的二進位相異或,當兩對應的二進位相異時,結果為1。
參與運算數仍以補碼出現,例如9^5可寫成算式如下: 00001001^00000101 00001100 (十進位制為12)
main()
擴充套件資料
c語言的運算子主要用於構成表示式,同一個符號在不同的表示式中,其作用並不一致。下面按計算的優先順序,分別說明不同作用的表示式。需要特別指出,在c語言標準中,並沒有結合性的說法。
相同優先順序運算子,從左至右依次運算。注意字尾運算優先順序高於字首。因此++i++應解釋為++(i++)。
而與或非的運算優先順序都不一樣,因此a && b || b && c解釋為(a && b) || (b && c)
合理使用優先順序可以極大簡化表示式。
6樓:非常可愛
在c語言裡這個符號「 ∧ 」表示「按位異或」運算子。
例:^ 按位異或
and (位與&) or ( 位或| ) xor ( 位異或^ )
1 & 1 = 1, 1 | 1 = 1, 1 ^ 1 = 0
1 & 0 = 0, 1 | 0 = 1, 1 ^ 0 = 1
0 & 1 = 0, 0 | 1 = 1, 0 ^ 1 = 1
0 & 0 = 0, 0 | 0 = 0, 0 ^ 0 = 0
擴充套件資料
c語言運算子
1、減法運算子
在c語言中,減法運算子的符號是"-"。它的作用是前面的數減去後面的數。
如:printf("%d\r\n",9-4);將列印5這個數值而不是9-4。
2、符號運算子
符號"-"和"+"放在一個運算元的前面,表示這個數的是正數和負數。這點和數學中是一樣的。
3、乘法運算子
在c語言中,乘法運算子的符號是"*"。它的作用是它的兩側的值被相乘到一起。
如:printf("%d\r\n",4*5);將列印20這個數值而不是4*5。
7樓:匿名使用者
^是位運算子中的異或運算子,也稱xor運算子。它的規則是若參與的兩個二進位相同,則結果為0(假),不同則為1(真)。即0^0=0,0^1=1,1^0=1,1^1=0;再如下面:
00111001
(^) 00101010
----------------
00010011
8樓:哈利路艾
表示異或運算
1 ^ 0 = 1
1 ^ 1 = 0
0 ^ 0 = 0
按加法理解就行,只不過不進位。
9樓:匿名使用者
%c 單個字元
%d 十進位制有符號整數
%e 以「科學記數法」的形式輸出十進位制的浮點數 如2.451e+02
%f 輸出十進位制浮點數,不帶域寬時,保留6位小數
%g 選用e或f格式中較短的一個輸出十進位制浮點數,不輸出無效零
%0 無輸出無符號八進位制整數
%p 指標的值
%s 輸出字串
%u 輸出無符號十進位制整數
%x, %x 輸出無符號十六進位制整數 (不輸出字首ox)
10樓:唔現場
例如int a[10]=;
int *p;
p=a;//是把陣列中的第一個元素的地址賦給指標pp=&a[4];//是把陣列中的第五個元素的地址賦給指標p,運算子的作用是在陣列首地址的基礎之上偏移4個地址長度,得到第五個地址,然後賦給p
11樓:匿名使用者
按我的理解,c語言中單獨的[ ]什麼也不是。不是中括號,也不是其他的。。。組
合使用時可以定義陣列,如int a[10];表示定義一個10個元素的陣列,a[3]=5;表示第三個陣列元素的值是5,int a[2][2];表示定義一個二維陣列。
c語言中,無論是小括號、中括號、大括號,都用()的層數來表示。如(((2+3)*2+5)*3),從裡到外依次為小括號到大括號。。。如果還有更多層數,再加括號就行了。
12樓:匿名使用者
乘,指標 表示一個字串,這個字串有兩個字元,一個有效字元 '*' "*"在c語言中代表指向的內容,它與所指內容合在一起構成指標
c語言中「>>=,<<=,&=,^=,|=」分別表示什麼意思?請舉例說明
13樓:弋風
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
14樓:匿名使用者
複合賦值。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
15樓:匿名使用者
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語言中中的規則,關於C語言中和的用法
如果你的函式裡用的是指標形式,那麼在你的函式呼叫的時候就要用 形式了,具體你參考譚浩強的c語言書,裡面有更全的解釋,不好,還望採納 關於c語言中 和 的用法 和 都是邏輯表示式裡常用的,一般用法是 if 表示式1 表示式2 或者 if 表示式1 表示式2 表示 或 滿足其中一個,整個表示式就為真,就...
C語言中for迴圈語句,c語言中for語句是怎麼用的
for 語句包括三個表示式,第一個和第三個可以省略,省略第一個的意思是在for之前已經對變數初始化,例如i 0 for i 5 i 和for i 0 i 5 i 意思相同 第三個省略的意思也很明顯,原來的i 可以在for迴圈語句中實現,例如 for i 0 i 5 i 和for i 0 i 5 i ...
c語言中for的用法,C語言語言中FOR的用法
你這些程式肯定是某些二流教科書上,根本就是誤導人。for後面語句 需要迴圈的 不管是一句還是多句都要加!因為加 比不加 讓程式表述得更加清楚!printf d x,y 不會報錯,printf是一個多引數的c函式,編譯的時候,printf函式本身並不知道 引號 中需要多少個引數,它只是按照順序從堆疊上...