1樓:出家人詞悲
^ 運算子是 按位異或
1、異或是乙個數**算符。他應用於邏輯運算。
2、例如:真異或假的結果是真,假異或真的結果也是真,真異或真的結果是假,假異或假的結果是假。就是說兩個值不相同,則異或結果為真。反之,為假。
3、在計算機應用中,普遍運用,異或的邏輯符號 ^ (shift + 6).形象表示為:
真^假=真
假^真=真
假^假=假
真^真=假
或者為:
true ^ false = true
false ^ true = true
false ^ false = false
true ^ true = false
部分計算機語言用1表示真,用0表示假,所以兩個位元組按位異或如下
00000000
異或00000000
=00000000
**********==我是分界線**********==
11111111
異或00000000
=11111111
**********===我還是分界線**********===
00000000
異或11111111
=11111111
**********=又是我。。。***************=
11111111
異或11111111
=00000000
**********===分界線********************=
00001111
異或11111111
=11110000
****************************************
所以 按位異或 也常用於位元組取反操作。
2樓:無憂網事
c語言的^,不是冪運算子 ,而是按位異或運算子!準確的說,c語言沒有冪運算子!你可以自己定義冪函式!
3樓:匿名使用者
我記得好像得用個頭檔案,好像是這個.
4樓:
#include
#include
int main(void)
c語言中有 ^ 這個運算子嗎?
5樓:雜貨鋪
有的,「^」是「位異或」。另外運算符號還有:
()、 、 -> 、 .、!、 ++、 --:圓括號、方括號、指標、成員、邏輯非、自加、自減
++ 、 -- 、 * 、 & 、 ~ 、!:單目運算子< 、 <= 、 > 、 >=:關係運算子
6樓:哼哈嗯嗯
有,但不太常見。
按位異或運算子「^」是雙目運算子。其功能是參與運算的兩數各對應的二進位相異或,當兩對應的二進位相異時,結果為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語言的設計目標是提供一種能以簡易的方式編譯、處理低階儲存器、產生少量的機器碼以及不需要任何執行環境支援便能執行的程式語言。
7樓:匿名使用者
沒有。次方運算一般是二進位制按位異或,比如 a=9(二進位制1001),b=12(二進位制1100),那麼 a ^ b 的結果是5(二進位制0101)
8樓:
有的。這個運算子名字叫按位異或,即:相同為0.不同為1.
9樓:劉東昇
這個是c語言運算子,是部分特殊編譯環境擴充套件的,例如ccs。微控制器的程式設計標頭檔案中應該會有定義,例如p1^2指的是p1的2號埠,同時還是運算子,「^」是按位異或,還有「 ﹠」 是按位與,「|」是按位或,一般不是微控制器程式設計用不到。
10樓:相思不停
有這個運算子,這是階乘運算子
11樓:匿名使用者
你是說階乘?沒有,^在c中是二進位制的抑或運算。
不過在math.h庫裡面有階乘函式,pow(double n, int m)(即n的m次方)
12樓:聖眼看天下
必須有,表示位亦或運算
13樓:fly嘻嘻哈哈
有的,"^"是按位異或運算子,只有兩個運算物件中對應的位中只有一位為1(不能全為1),它生成的值中對應的位才為1。
c語言裡如何實現乘冪運算
14樓:永飛
用函式pow(x,2)表x的2次方
加上標頭檔案math.h
15樓:匿名使用者
^ 在 c 中 是 按位加運算,不是冪運算符號,^ 在 vb中才是 冪運算。
10的a次方 在c中是用迴圈來計算的
int i,s=1;
for(i=1;i<=a;i++)
s=s*10;
這裡注意s的範圍,別讓它越界,可設為長整型。
16樓:匿名使用者
先宣告#includefloat n; 求n的a次方 用函式pow(n,a)(表示n的a次方)
注意a是float型
原型為pow(float x;float y)
17樓:柏淼
10^3 =1000在c語言裡是不對的,^在c語言裡是按位異或運算子。。lz應該是把vb和c弄混了吧。。vb中10^3 =1000是對的。。
c語言中,10的3次方是1e3,但用e來表示10的次方前提是e前後都是常數,若lz的a在之前被定義為常數,則10ea是對的,不然則要通過迴圈或函式來實現。。
簡單一點函式 pow10(a)就可以表示10的a次方,但是這樣用,前面一定要加#include「math.h」,因為這個函式是定義在這個標頭檔案之下的。。
lz念在我大晚上,,還是情人節大晚上給你碼字的份上,給我最佳答案吧。。。
18樓:
int multi(int val, int num)return total;}或者
#include "math.h"
pow(val, num);
c語言三目運算子怎麼用
19樓:天雲一號
c語言中只有乙個三目運算子,就是條件運算子(? :)條件運算子的一般使用格式如下:
表示式1 ? 表示式2 : 表示式3
舉例如下:
max = (a>b) ? a : b; // 取變數a, b中較大的乙個,並賦值給變數max
20樓:匿名使用者
三目運算子為a?b:c即有三個參與運算的量。由條件運算子組成條件表示式的一般形式為:
表示式1? 表示式2: 表示式3
其求值規則為:如果表示式1的值為真,則以表示式2 的值作為條件表示式的值,否則以表示式2的值作為整個條件表示式的值。 條件表示式通常用於賦值語句之中。
例如條件語句:
if(a>b) max=a;
else max=b;
可用條件表示式寫為 max=(a>b)?a:b; 執行該語句的語義是:如a>b為真,則把a賦予max,否則把b 賦予max。
使用條件表示式時,還應注意以下幾點:
1. 條件運算子的運算優先順序低於關係運算子和算術運算子,但高於賦值符。因此 max=(a>b)?a:b可以去掉括號而寫為 max=a>b?a:b
2. 條件運算子?和:是一對運算子,不能分開單獨使用。
3. 條件運算子的結合方向是自右至左。
例如:a>b?a:c>d?c:d應理解為
a>b?a:(c>d?c:d) 這也就是條件表示式巢狀的情形,即其中的表示式3又是乙個條
件表示式。
void main(){
int a,b,max;
printf("\n input two numbers: ");
scanf("%d%d",&a,&b);
printf("max=%d",a>b?a:b);
21樓:匿名使用者
三目運算子是?:結構的運算
所謂三目就是需要三個變數對能進行運算的操作舉個簡單的例子:
a=2>1?3:4
可分成幾個部分,用括號分開:
(a=)(2>1)?(3):(4)
最左邊是賦值操作
第二個部分是乙個判斷
第三和第四部分是兩個常數
首先判斷第三部分是否成立,成立即選擇第三部分,否則選擇第四部分像上面那個2>1成立,所以就執行了a=3
這種運算還可以巢狀
比如判斷year是不是閏年,是則返回1,不是返回0year=(year%100==0)?(year%400==0?1:0):(year%4==0?1:0)
22樓:
不帶括號,實際上是這樣的效果(","優先順序略低,一般都是最後執行咯)。
temp<=n ? (temp *= 2,m++):(temp = (temp-n)*2-1),m++;
也就是說,不帶括號,你temp<=n成立時候,m++總是會執行兩次,當然對於temp>n是沒問題的。
帶括號,自己比較好理解。
然後,你如果想寫的高大上,簡單點又正確,可以只加後面乙個括號。即下面的方式。
temp<=n ? temp *=2,m++:(temp=(temp-n)*2-1,m++)
個人是非常不建議這麼些,**給別人看挺麻煩。
23樓:匿名使用者
三目運算: 條件?值1:值2,是根據條件的值分別值1或值2
對於本題就是依據你的取值,分別取(temp *= 2, m++) 和(temp = (temp - n)*2-1, m++)
若把?:中:前後的兩個()去掉,會出現錯誤!
24樓:匿名使用者
運算子是有運算順序的。
比如你上面括號裡面的*運算子優先順序高於=,++也高於三目運算子。推薦你看一下運算子優先順序。
就這個程式而言,主要問題是,逗號運算子優先順序比三目運算優先順序還低,去掉括號後,造成先做了三目運算,後做逗號運算。
希望這個回答對你有幫助。
25樓:匿名使用者
條件操作符是乙個三目操作符
條件表示式?表示式1:表示式2
先計算條件表示式,若為真,對表示式1求值,求值的結果為整個條件操作符表示式的值;
若為假,對表示式2求值,求值的結果為整個條件操作符表示式的值。
如:s = ( x < 0 ) ? -1 : x * x;
表示當x<0時返回-1;當x>=0是返回x平方。
26樓:匿名使用者
a>b:a?b
如果a大於b返回a 如果相反則返回b
c語言,「次方」怎麼用?
27樓:幻翼高達
需要準備的材料分別有:電腦、c語言編譯器。
1、首先,開啟c語言編譯器,新建乙個初始版.cpp檔案,例如權:test.cpp。
2、在test.cpp檔案中,輸入c語言**:printf("%lf", pow(11, 3)); 。
3、編譯器執行test.cpp檔案,此時計算出了11的3次方的值被列印。
28樓:幻翼高達
需要準備的材料分別抄有:電腦、c語言編bai譯器。du1、首先,開啟c語言編譯器zhi,新建乙個初始.cpp檔案dao,例如:test.cpp。
2、在test.cpp檔案中,輸入c語言**:printf("%f", pow(10, 2)); 。
3、編譯器執行test.cpp檔案,此時成功使用pow函式完成了次方的計算。
C語言運算子C語言運算子是怎麼運算的
內容來自使用者 wjian178 e68a84e8a2ad62616964757a686964616f31333433646432 1級優先順序 左結合 圓括號 下標運算子 指向結構體成員運算子 結構體成員運算子。2級優先順序 右結合 邏輯非運算子 按位取反運算子 字首增量運算子 字首減量運算子 正...
c語言運算子中問號是什麼意思C語言運算子中問號是什麼意思
問號是條件運算子的意思,跟冒號組合使用。條件運算子優先順序高於賦值 逗號運算子,低於其他運算子。表示式為 表示式1?表示式2 表示式3。先求解表示式1,若其值為真 非0 則將表示式2的值作為整個表示式的取值,否則 表示式1的值為0 將表示式3的值作為整個表示式的取值。擴充套件資料條件運算子具有右結合...
C語言賦值運算子,在C語言中11種賦值運算子的具體含義,用法
你宣告為 無符來號char,則運算會按無符號源處bai理。你宣告為有符號duchar,則運算會按有符號處zhi理。例如 unsigned char c char d c 376 d 376 printf c d d d n c,d 列印出 daoc 254 d 2 定義的意思是說這是無符號數,它可以...