c語言中,為什麼叫按位異或,C語言中18怎麼算?是按位異或運算子

2021-03-03 20:44:12 字數 6123 閱讀 2490

1樓:陽光上的橋

你讓回答為什麼要叫異或,這個是大家約定的,前人規定的,沒什麼好回答的,也建議你不要太糾結。

下面我說說異或是什麼,如果你知道,請別生氣,我可以刪除。異或是一種二進位制運算,參加運算的兩個二進位制不同結果就為1,否則為0,也就是:

1^0=1

0^1=1

1^1=0

0^0=0

按位異或是邏輯異或的擴充套件,參加運算的兩個數的二進位制文進行異或運算,例如3^7=4,三個數的二進位制形式分別是0011、0111、0100

2樓:陽光的雷咩咩

異或是一個邏輯代數的術語啊。按位的意思就是按每個二進位制位。相應的 & 你可以說是按位與, | 是按位或。 相反 && 和 || 就不是按位了。

c語言中1^8怎麼算?^是按位異或運算子

3樓:匿名使用者

1和8都是int型,且都是正整數,記憶體中原碼形式儲存

1的原碼是00000000 00000000 00000000 0000001

8的原碼是00000000 00000000 00000000 0001000

按位異或,顧名思義是對應的二進位制位計算,口訣相同0,相異為1.就是對應的二進位制位,相同的話該二進位制位計算出來是0,不同的話計算出來才是1

舉例:0

^ 0-----

0***************1^1

---------

0************0^1

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

1**************************************

所以00000000 00000000 00000000 0000001

^00000000 00000000 00000000 0001000

00000000 00000000 00000000 0001001

這個二進位制數按照原碼解釋,對應9

所以結果是9

4樓:匿名使用者

先把十進位制的1和8轉換成二進位制,然後進行位運算之後再把結果轉換成十進位制就ok了。

1 : 0000 0001

^8 :0000 1000

=0000 1001 也就是十進位制的 8 + 1 = 9

c語言中的異或,也就是符號"^",是按位異或吧?

5樓:閒裡偷忙者

把十進位制的數換成二進位制後,寫成你常用的加減的形式,也就是對齊。不相同時為1,同為0.

6樓:匿名使用者

按位與&

按位或|

按位取反~

「異或」運算子(^)

7樓:陌路盡頭

^在c語言中屬於位運算子,所以是按位異或。

c語言中^代表什麼?什麼意思?

8樓:苑

c語言中「 ∧ 」是「按位異或」運算子(bitwise exclusive or operator)。

整數在計算機中用二進位制的位來表示,c語言提供一些運算子可以直接操作整數中的位,稱為位運算,這些運算子的運算元都必須是整型的。按位異或運算子「^」是雙目運算子。 其功能是參與運算的兩數各對應的二進位相異或,當兩對應的二進位相異時,結果為1。

9樓:天涯明遠

符號^在c語言裡是「按位異或」的意思。

按位異或運算 按位異或運算子「^」是雙目運算子。其功能是參與運算的兩數各對應的二進位相異或,當兩對應的二進位相異時,結果為1。

參與運算數仍以補碼出現,例如9^5可寫成算式如下: 00001001^00000101 00001100 (十進位制為12)

main()

擴充套件資料

c語言的運算子主要用於構成表示式,同一個符號在不同的表示式中,其作用並不一致。下面按計算的優先順序,分別說明不同作用的表示式。需要特別指出,在c語言標準中,並沒有結合性的說法。

相同優先順序運算子,從左至右依次運算。注意字尾運算優先順序高於字首。因此++i++應解釋為++(i++)。

而與或非的運算優先順序都不一樣,因此a && b || b && c解釋為(a && b) || (b && c)

合理使用優先順序可以極大簡化表示式。

10樓:非常可愛

在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。

11樓:匿名使用者

^是位運算子中的異或運算子,也稱xor運算子。它的規則是若參與的兩個二進位相同,則結果為0(假),不同則為1(真)。即0^0=0,0^1=1,1^0=1,1^1=0;再如下面:

00111001

(^) 00101010

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

00010011

12樓:哈利路艾

表示異或運算

1 ^ 0 = 1

1 ^ 1 = 0

0 ^ 0 = 0

按加法理解就行,只不過不進位。

13樓:匿名使用者

%c 單個字元

%d 十進位制有符號整數

%e 以「科學記數法」的形式輸出十進位制的浮點數 如2.451e+02

%f 輸出十進位制浮點數,不帶域寬時,保留6位小數

%g 選用e或f格式中較短的一個輸出十進位制浮點數,不輸出無效零

%0 無輸出無符號八進位制整數

%p 指標的值

%s 輸出字串

%u 輸出無符號十進位制整數

%x, %x 輸出無符號十六進位制整數 (不輸出字首ox)

14樓:唔現場

例如int a[10]=;

int *p;

p=a;//是把陣列中的第一個元素的地址賦給指標pp=&a[4];//是把陣列中的第五個元素的地址賦給指標p,運算子的作用是在陣列首地址的基礎之上偏移4個地址長度,得到第五個地址,然後賦給p

15樓:匿名使用者

按我的理解,c語言中單獨的[ ]什麼也不是。不是中括號,也不是其他的。。。組

合使用時可以定義陣列,如int a[10];表示定義一個10個元素的陣列,a[3]=5;表示第三個陣列元素的值是5,int a[2][2];表示定義一個二維陣列。

c語言中,無論是小括號、中括號、大括號,都用()的層數來表示。如(((2+3)*2+5)*3),從裡到外依次為小括號到大括號。。。如果還有更多層數,再加括號就行了。

16樓:匿名使用者

乘,指標 表示一個字串,這個字串有兩個字元,一個有效字元 '*' "*"在c語言中代表指向的內容,它與所指內容合在一起構成指標

c語言裡的按位異或運算子

17樓:靠名真tm難起

按位異或,其操作符為^,形式為

a^b計算時,根據運算元a和b每位的值,計算結果,當a,b的對應位上值相同時,結果的該位上值為0,否則值為1。

如char a = 0x12, b = 0x34;

a^b= 0x12 ^ 0x34

= b0001 0010 ^ b0011 0100= b0010 0110

=0x26

18樓:夜微空

(|1:「按位與」運算子(&)全1為1,有0則0。0&0=0,1&0=0,1&1=1

2:「按位或」運算子(|)有1則1,全0則0。0|0=0,1|0=1, 1|1=1

3:「異或」運算子(^)相同為0,不同為1。0^0=0,1^0=1,1^1=0

19樓:匿名使用者

1:「按位與」運算子(&)用法是如果兩個相應的二進位制位都為1,則該位的結果值為1否則為0。0&0=0,1&0=0,1&1=1

2:「按位或」運算子(|)用法是如果兩個相應的二進位制位有一個為1,則該位的結果值為1否則為0。0&0=0,1&0=0,1&1=1

0,1&0=1,1&1=1

3:「異或」運算子(^)用法是如果兩個相應的二進位制位為同號,則該位的結果值為1否則為0。0&0=1,1&0=0,1&1=1

20樓:通訊工程

以下的 答案中異或,解釋錯誤,相同為0,不同為1

21樓:無殼螃蟹

c語言中^為按位異或運算子,若兩個二進位制位相同,則結果為0,不同為1#include "stdio.h"

main()

函式輸出結果為12

將6和10分別轉換為2進位制數為0110(前邊補了個0)和1010。然後按照定義進行異或運算

0110 a

1010 b

1100 a和b最左邊第一位和第二位不相同,所以分別為1,第三位和第四位相同,所以分別為0

二進位制數1100轉換為10進位制數,結果是12。

22樓:小豬叄兒

a b a xor b

true true false //最大特點在這裡,1 xor 1 = 0

true false true

false true true

false false false

對於電路設計啊什麼的非常實用,平常用的很少。

23樓:程式設計師的每一天

c語言經典例子之使用按位異或運算子

24樓:尺蠖丨蚩

相同取0,不同取1.二目運算

25樓:神一樣的魁苝

|& 按位與

| 按位或

^ 按位異或

1. 按位與運算 按位與運算子"&"是雙目運算子。其功能是參與運算的兩數各對應的二進位相與。

只有對應的兩個二進位均為1時,結果位才為1 ,否則為0。參與運算的數以補碼方式出現。

例如:9&5可寫算式如下: 00001001 (9的二進位制補碼)&00000101 (5的二進位制補碼) 00000001 (1的二進位制補碼)可見9&5=1。

按位與運算通常用來對某些位清0或保留某些位。例如把a 的高八位清 0 , 保留低八位, 可作 a&255 運算 ( 255 的二進位制數為0000000011111111)。

main()

2. 按位或運算 按位或運算子「|」是雙目運算子。其功能是參與運算的兩數各對應的二進位相或。只要對應的二個二進位有一個為1時,結果位就為1。參與運算的兩個數均以補碼出現。

例如:9|5可寫算式如下: 00001001|00000101

00001101 (十進位制為13)可見9|5=13

main()

3. 按位異或運算 按位異或運算子「^」是雙目運算子。其功能是參與運算的兩數各對應的二進位相異或,當兩對應的二進位相異時,結果為1。

參與運算數仍以補碼出現,例如9^5可寫成算式如下: 00001001^00000101 00001100 (十進位制為12)

main()

C語言中的位與是什麼意思,C語言中c是什麼意思

c位,網路流行語,最早 於遊戲領域,即center,中間位置的意思。是二進位制的吧?因為二進位制 中的加法,減法,乘法,除法,還有邏輯運算,都是針對這個版 數字的二進位制位權數來進行的。比如1111111,除二,就只要將這個數的所有位數向後移以為,就是111111。牽扯到 位 的,都跟二進位制有關,...

c語言中怎麼保留小數2位,C語言中如何保留一位小數點

在c語言中讓一個數保留2位小數可以通過精度限定符來完成,精度限定符有一個點號後跟一個整陣列成。其準確含義依賴於它所修飾的資料型別。示例如下 include int main c語言的主要特點 優點1 簡潔緊湊 靈活方便 c語言一共只有40個關鍵字,9種控制語句,程式書寫形式自由,區分大小寫。把高階語...

c語言為什麼叫」C「語言,C語言為什麼叫做C語言而不叫A,B,D Z等語言

電腦的英文單詞是 computer啊 c語言就是指用語計算機的語言 ps 受教了.我沒到網上去查,一直就這麼理解的.就算錯也正常,我想也不離譜.總之和計算機擺脫不了關係 bs出口成髒的小人 這你應該問它的發明者。早期的程式語言 bcpl,取名為 b的語言,在此基礎上開發的語言就用bcpl的第二個字母...