1樓:天雨下凡
|表示按位或,規則是一個為1或二個都為1,結果為1,^表示按位異或,規則是相同為0,相異為1。首先把兩個運算元化成二進位制,然後按位進位制操作:
5|35的二進位制00000101
3的二進位制00000011
00000111(化為十進位制是7)
5^35的二進位制00000101
3的二進位制00000011
00000110(化為十進位制是6)
2樓:匿名使用者
這兩個都是位操作運算子
|是或操作,只有兩邊都是0的時候,結果對應位上才是05|3 = 101|011=111 = 7^是異或操作,相同為0,不同為1.
5^3=101|011=110=6
3樓:匿名使用者
| 「按位或」運算子 一位一位 的 兩個相應的二進位制位中只要有一個為1,該位的結果值為1。 一般用於 置一 1 | 1 = 1; 0|1 =1; 1|0 =1 ;0|0 =0
1 ^ 1 = 0; 0^1 =1; 1^0 =1 ;0|0 =0;
^異或 必須不同 若參加運算的兩個二進位制位同號則結果為0(假)異號則結果為1(真
看清上面的 那個例子 就明白了
c語言位操作運算子 &,|,~,^,<<,>>是幹什麼的?
4樓:匿名使用者
& 按位與運算,如:1010 & 1100 = 1000| 按位或運算,如:1010 & 1100 = 1110~ 非運算,如:
a = 1010; ~a = 0101《左移,如:1110 << 1 = 1100>>右移,如:1000 >> 1 = 0100
5樓:善緣戀
當然是操作位了 任何資料都是以二進位制形式儲存的 位操作運算子就是直接對二進位制進行操作
6樓:匿名使用者
&,|,~,^,<<,>>是按位「與、或、非、異或、左移、右移」,這些操作都是按照二進位制來計算的。
7樓:匿名使用者
&,|,~,^,<<,>>分別是與、或、非、異或、小於、大於符號
8樓:匿名使用者
& 按位與運算,| 按位或運算,~ 非運算,《左移,>>右移
9樓:長移動客戶經理
>>右移,如:1000 >> 1 = 1100
c語言中有 ^ 這個運算子嗎?
10樓:雜貨鋪
有的,「^」是「位異或」。另外運算子號還有:
()、 、 -> 、 .、!、 ++、 --:圓括號、方括號、指標、成員、邏輯非、自加、自減
++ 、 -- 、 * 、 & 、 ~ 、!:單目運算子< 、 <= 、 > 、 >=:關係運算子
11樓:哼哈嗯嗯
有,但不太常見。
按位異或運算子「^」是雙目運算子。其功能是參與運算的兩數各對應的二進位相異或,當兩對應的二進位相異時,結果為1。還比如 m=9(二進位制1001),n=12(二進位制1100),那麼 m ^ n的結果是5(二進位制0101)
一般常用^表示某數的幾次方,c語言裡沒有表示「幾次方」的運算子。因為c語言中的乘方可以用迴圈來做.比如:
#include //引用標頭檔案
double pow(double x, double y) //函式定義方法
表示求x的y次方。
例:求3.2的5次方可寫成 pow(3.2 , 5)
當然,你也可以自定義函式求乘方,例:
float power( float x,int n ) //自定義乘方函式
main()
c語言是一門通用計算機程式語言,應用廣泛。c語言的設計目標是提供一種能以簡易的方式編譯、處理低階儲存器、產生少量的機器碼以及不需要任何執行環境支援便能執行的程式語言。
12樓:匿名使用者
沒有。次方運算一般是二進位制按位異或,比如 a=9(二進位制1001),b=12(二進位制1100),那麼 a ^ b 的結果是5(二進位制0101)
13樓:
有的。這個運算子名字叫按位異或,即:相同為0.不同為1.
14樓:劉東昇
這個是c語言運算子,是部分特殊編譯環境擴充套件的,例如ccs。微控制器的程式設計標頭檔案中應該會有定義,例如p1^2指的是p1的2號埠,同時還是運算子,「^」是按位異或,還有「 ﹠」 是按位與,「|」是按位或,一般不是微控制器程式設計用不到。
15樓:相思不停
有這個運算子,這是階乘運算子
16樓:匿名使用者
你是說階乘?沒有,^在c中是二進位制的抑或運算。
不過在math.h庫裡面有階乘函式,pow(double n, int m)(即n的m次方)
17樓:聖眼看天下
必須有,表示位亦或運算
18樓:fly嘻嘻哈哈
有的,"^"是按位異或運算子,只有兩個運算物件中對應的位中只有一位為1(不能全為1),它生成的值中對應的位才為1。
c語言中的運算子的&與&& 和 |與||有什麼區別,用在什麼地方
19樓:yesyes科
和|&和|是位運算。&&和||表示邏輯關係,&&和||表示式最終的值只可能是真(1)或者假(0),而位運算表示式的值不限於0和1 兩者在特定情況下的效果是相同的。操作方法如下:
1、首先這裡用到字元的ascii碼,a的ascii碼為65,之後用scanf函式進行輸入。if設定為巢狀語句,判斷輸入的字元是不是在a-z之間,系統比較的是二者的ascii碼,來輸入大寫字母g。
2、還是字母大小寫的轉換,利用邏輯運算子對第一個程式進行改寫。使用邏輯與&&運算子之後,**更易於理解,而且計算機處理的時候更容易。
3、將letter = letter - 『a' = 'a'改為了letter += 'a' - 'a',**可讀性提高,開始執行,輸入一個【,可以看到,非字母字元的輸出達到了解決。
4、接下來要用五個新函式去完成這個程式,isalpha(),這個函式用來測試字元是否為字母,是返回true,isupper()和islower()用來測試字母是大寫還是小寫,最後兩個函式toupper和tolower分別是用來將字元轉換為大寫和小寫。
5、執行輸入g,就完成了。
20樓:匿名使用者
&和|是位運算;&&和||表示邏輯關係
&&和||表示式最終的值只可能是真(1)或者假(0)
而位運算表示式的值不限於0和1兩者在特定情況下的效果是相同的,但是不建議這麼做,會讓人產生困惑
21樓:匿名使用者
|,c語言中邏輯運算子(&&,||,!)和位運算子號(&,|,^)的區別
在c語言中,程式設計者經常混淆兩組運算子:(&&,||,!)和(&,|,^)。
第一組是邏輯運算子,它的運算元是布林型,而第二組則是位運算子,其運算元是位序列。在布林型運算元中,只有兩個數值,0或1。c語言規定,在邏輯運算中,所有的非0數值都看做1處理。
而位序列則可以是有無符號的字元型,整型,長短整型等。在位運算中,是相應的位之間進行邏輯運算。因此,從邏輯上講,位運算過程包含多個邏輯運算過程。
通常,位運算運算元選擇無符號型資料。
1 應用例項
#include
int main(int argc, char *argvs)執行結果是:
false: a && b is 0
true: a && s is 1
true: a && c is 1
true: s && c is 1
a & b is 0
a & s is 10
a & c is 1
s & c is 0
a & 0x110 is 10
22樓:匿名使用者
& |是位操作,一般操作在某個變數上
&& || 是邏輯判斷,並且和或者的意思,一般操作在表示式邏輯上的,如:
if ( a&& b ) 表示 a為真且b為真c= a&b ; //進行運算,得到一個新的結果
23樓:竹冽巖青
&是 按位與 比如a=0xf0(11110000b),b=0xcc(11001100),那麼a&b=0xc0(11000000b),意思就是每組二進位制位響應地做與運算
同理 | 是按位取或,a|b=0xfc(11111100b)意思就是每組二進位制位相應地做或運算。
&&和||就是判斷邏輯的與和或,比如(a==b)&&(c==d)意思就是,a等於b,並且c等於d時表示式為真,邏輯上的
c語言中^代表什麼?什麼意思?
24樓:苑
c語言中「 ∧ 」是「按位異或」運算子(bitwise exclusive or operator)。
整數在計算機中用二進位制的位來表示,c語言提供一些運算子可以直接操作整數中的位,稱為位運算,這些運算子的運算元都必須是整型的。按位異或運算子「^」是雙目運算子。 其功能是參與運算的兩數各對應的二進位相異或,當兩對應的二進位相異時,結果為1。
25樓:天涯明遠
符號^在c語言裡是「按位異或」的意思。
按位異或運算 按位異或運算子「^」是雙目運算子。其功能是參與運算的兩數各對應的二進位相異或,當兩對應的二進位相異時,結果為1。
參與運算數仍以補碼出現,例如9^5可寫成算式如下: 00001001^00000101 00001100 (十進位制為12)
main()
擴充套件資料
c語言的運算子主要用於構成表示式,同一個符號在不同的表示式中,其作用並不一致。下面按計算的優先順序,分別說明不同作用的表示式。需要特別指出,在c語言標準中,並沒有結合性的說法。
相同優先順序運算子,從左至右依次運算。注意字尾運算優先順序高於字首。因此++i++應解釋為++(i++)。
而與或非的運算優先順序都不一樣,因此a && b || b && c解釋為(a && b) || (b && c)
合理使用優先順序可以極大簡化表示式。
26樓:非常可愛
在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。
27樓:匿名使用者
^是位運算子中的異或運算子,也稱xor運算子。它的規則是若參與的兩個二進位相同,則結果為0(假),不同則為1(真)。即0^0=0,0^1=1,1^0=1,1^1=0;再如下面:
00111001
(^) 00101010
----------------
00010011
c語言賦值運算子,C語言賦值運算子
a a a a 分步 1 a a a a a 9 a 9 a a 9,a 6 2 a 6 a 6 6 a 12a a a a 1 a a a 9 2 a 9 a 9 9 a 0 3 a 0 a 0 在c語言中11種賦值運算子的具體含義,用法?1.六個變數 表示式的賦值 是賦值運算子,是除後賦值,是乘...
c語言運算子和的區別C語言運算子和的區別
是位運算子,也就是二進位制計算 07h 111b fch 11111100b 07h fch 100b 4h 是邏輯運算子,0代表false,其他數值代表true 一般用1表示 07h 不是0,所以為true fch 不是0,所以為true true true 的結果為 true,用1表示,所以07...
C 複合賦值運算子問題,c語言,複合賦值運算子
執行順序 1 a 1 2 2.a被替換為31 31 1 23.計算後得到 31 2 15 小數被忽略 4.a a 1 31 1 32最後a 32,表示式a 1 2 15 a x等價與a a x 所以a a a a就等價於a a a a a a x等價與a a x 所以,又有a a a a a 等價於...