1樓:
虛部不為零的虛數不能比較大小,虛部為零的虛數可以比較大小。
0/i=(0*i)/(i*i)=-0/1=0
1/i=(1*i)/(i*i)=-i
2樓:匿名使用者
1+i和2+i 不好比較
0/i=0
1/i=-i
√i=√e^(π/2)=e^(i*π/4) 或者e^(i*5π/4)即√i=(√2+i*√2)/2
或者√i=-(√2+i*√2)/2
0^i不存在 (這條我不確定)
1^i=1
i^3=-i
3樓:匿名使用者
複數是不能比較大小的,他沒有意義的!
你仔細看下複數的定義和性質吧!
0/i=0(0除任何數都等於0)
1/i=-i(上下同乘以i)
根號i虛數可以開方嗎?
0的i次方=1(任何數的0次方都是1)
1的i次方 =1(只要是1做底數,結果都是1)i的3次方=-i(這個是基本性質)
你就喜歡問,但不肯想,我的回答不一定正確,那些高中的東西早忘記了。
4樓:敦誠
可以用範數的形式比較大小,在高中階段就是求模,至於0的i次方 ,1的i次方 ,i的3次方等。如果你學過矩陣分析或複變函式的話就好解釋了, 如果沒學過,就太難講解。但是可以告訴你,他們都是有意義的。
只有上了大學,甚至到了研究生階段才會明白的。
5樓:含風納雪
已經有這麼多人回答了
那我就不答了
6樓:匿名使用者
複數是不能比較大小的,因為它不像實數,實數時有序的,可以在數軸上從左向右依次排列,而複數是沒有順序的!對於你說的那些計算,他們本身是不具備任何意義的,量子力學中有虛數的應用.
7樓:匿名使用者
虛數不能比大小
一般比大小是比虛數的模
8樓:數學尖子生
虛數不能比較大小!只有實數可以比較大小!
i++和++i命令有什麼區別?
9樓:蟲心菜
i++和++i命令的區別有:
1、賦值順序不同
++ i 是先加後賦值;i ++ 是先賦值後加;++i和i++都是分兩步完成的。62616964757a686964616fe59b9ee7ad9431333366303839
因為++i 是後面一步才賦值的,所以它能夠當作一個變數進行級聯賦值,++i = a =b,即 ++i 是一個左值;i++ 的後面一步是自增,不是左值。
形象的理解可以是i++先做別的事,再自己加1,++i先自己加1,再做別的事情。
2、效率不同
比如i=3,b=i++就是說b=3,完成之後讓i變成4,b=++i就是先讓i++變成4,然後b=4,其中++i比i++效率要高些。一般來說在迴圈域裡面,這兩者並沒有什麼很大的區別,但是要注意其生存週期,以及i值在程式流中的變化。
3、 i++ 不能作為左值,而++i 可以。
左值是對應記憶體中有確定儲存地址的物件的表示式的值,而右值是所有不是左值的表示式的值。一般來說,左值是可以放到賦值符號左邊的變數。
但能否被賦值不是區分左值與右值的依據。比如,c++的const左值是不可賦值的;而作為臨時物件的右值可能允許被賦值。左值與右值的根本區別在於是否允許取地址&運算子獲得對應的記憶體地址。
比如:int i = 0;
int *p1 = &(++i);//正確
int *p2 = &(i++);//錯誤
++i = 1;//正確
i++ = 1;//錯誤
擴充套件資料:
當i=5時,s=(++i)+(++i)和s=(i++)+(i++)的值:
1、當i=5時,s=(++i)+(++i)=13 先算第一個(++i),++在前面,就把i先加1再把賦值,即先把i變為6然後再得出(++i)的值為6,這時i已經變為6了,
再計算第二個(++i),++在前面也是先把i加1後再賦值,不過這時的i已經為6了,第一步的時候把i變成6了的,然後加1的話就變成7了,所以第二個(++i)的值為7,s=(++i)+(++i)=6+7=13。
2、s=(i++)+(i++)=11 先算第一個(i++),i在前面,就先賦值再把i加1,即(i++)的值為5,i的值變為6,第二個(i++),i在前面,先賦值再把i加1,這個時候的i已經為6了,即(i++)的值為6,而i已經變為7了。所以s=(i++)+(i++)=5+6=11。
10樓:匿名使用者
1、賦值
順序不同抄:
++ i 是先加後賦值;襲++i 是後面一步才bai賦值的,duzhi所以它能夠當作一個變dao量進行級聯賦值,++i = a =b,即 ++i 是一個左值;
i ++ 是先賦值後加;i++ 的後面一步是自增,不是左值。
++i和i++都是分兩步完成的。
2、效率不同:
比如i=3,b=i++就是說b=3,完成之後讓i變成4,b=++i就是先讓i++變成4,然後b=4,其中++i比i++效率要高些。
3、操作完成後,值不同:
對於n=++ i ,進行操作後,n的值發生了改變,其值變成了i+1。
對於n=i++ ,進行操作後,n的值不發生改變,其值仍然為i。
11樓:關鍵他是我孫子
i++和++i命令的區別:
1、i++是先使用i,再賦值計算
,即就是在計算程式時,先把 i 的值拿來用,然後在自回增1。
2、++i是先賦值計算,再使用,答即就是在計算程式時,是想把 i 自增1然後拿來用。
3、 ++i,在位元組碼層面,會先進行iinc,也就是執行自增,然後load變數。
4、 i++,則是,先load變數,後自增(因為已經load,所以本次自增,並不會影響已經load的變數值)。
比如:for(i=0;i<10;i++)
i先使用,用完最後在i++
for(i=0;i<10;++i)
i先自增,然後再用。
12樓:匿名使用者
一直bai以來,++ --語法浪費du了太多人的時間zhi。說句實在話,++ -- 在c語言中其dao
實是一個很細回節的語法,除答了表達簡練外,真的沒有什麼其它的好處了。
由於中國的c語言教程長期以來被譚浩強主宰,而譚又錯誤的把++ --作為一個c語言重點來教,並增加了一些難點,把本來很簡單的語法,搞得複雜無比!
簡單的來說,++i 和 i++,在單獨使用時,就是 i=i+1。
而 a = ++i,相當於 i=i+1; a = i;
而 a = i++,相當於 a = i; i=i+1;
如果實在搞不明白++ --怎麼回事,那也不是什麼天塌下來的事。
因為a=++i完全可以寫成 i++; a=i。
a=i++完全可以寫成 a=i; i++。
而且,這也是一種好的程式風格:++ -- 語句如非特殊需要,請單獨一行使用。
13樓:匿名使用者
第一個是先取i的值,然後再把i加一,第二個是先把i加一,再取i的值
14樓:滾去學習
1、單獨使用時
i++和++i沒有區別,都是自增1
2、進行運算時
i++是 i 先運算在加1
++i是 i 先加1再運算
15樓:難堪
i++ 返回原來的值,++i 返回加1後的值。
16樓:糖糖又笑了
i++是先把i的值拿來用,然後在自增1
++i是想把i自增1然後拿來用
比如:for(i=0;i<10;i++)
i先使用,用完最後在i++
for(i=0;i<10;++i)
i先自增,然後再用
17樓:阿哲
剛好做copy
題到這裡,產生了疑問,現在來把自己的想法寫下來。
i++翻譯一下,就是先運算,後加,
++i翻譯一下,就是先加,再運算,和加號順序相應記。
比如sum+=++i;
就是i=i+1;sum=sum+i;
再比如sum+=i++;
sum=sum+i;i=i+1;
18樓:匿名使用者
後置加加和前置加加
i++ 表示i的值作為表示式的值,然後i自加1++i 表示i先自加1再作為表示式的值
個人覺得還是很有用的,能使程式變得簡潔。
19樓:匿名使用者
i++就是反回
bai(一般來du說)i值i再加1,
++i是i加一
zhi再返回i值.dao
..如下回的話:
int i=0;a=1;
a=a+i++;
cout <<"a="<輸出
答a=1a=3
20樓:小☆☆白
上邊各位兄臺的回答已經很詳細了,我就不多說了
21樓:夏環村
1. ++在前表示先計算後執行
2. ++在後表示先執行後計算
22樓:浩劫
從c++ 的角度來看,兩者的效率以及左右值、作用差別都很大,以上答案都只說了作用或者左右值的區別。詳情請看我的部落格++i、i++、i+=1、i=i+1的區別不復制黏貼了
++i和i++有什麼區別啊?
23樓:匿名使用者
至於++i和i++有什麼區別,舉個例子
1.a = i++; 等校為
a = i;
i = i + 1;
2.a = ++i; 等校為
i = i + 1;
a = i;
i++和++i的 最重要的區別大家都知道就是 +1和返回值的順序
但,兩這還有一個區別(在c++中)就是i++在實現的時候,產
生了一個local object
class int;
//++i 的版本
int int::operator++()
//i++ 的版本
const int int::operator ++(int)
所以從效率上來說++i比i++來的更有效率
具體細節你可以看more effective c++ 的m6
看看c++類過載運算子就知道了。
對於i++的實現是:
int temp;
temp = i;
i = i+1;
return temp;
而++i的實現是:
i = i+1;
return i;
比如printf("%d",i++);是先輸出i值隨後i自加,而printf("%d",++i);正好相反
for(operation1;operation2;operation3)
都是按operation1
operation2
//do something
operation3
的順序來執行的
而i++與++i在單獨的語句中結果是一樣的。
簡單而言: ++i 在 i 儲存的值上增加一併向使用它的表示式 ``返回" 新的, 增加後的值; 而 i++ 對 i 增加一, 但返回原來的是未增加的值。
24樓:l溯流光
區別在於:++先做別的事,再自己加1,++i先自己加1,再做別的事情,形象的理解,你可以把++i比作自私的人,首先考慮自己的事,i++是無私的,先為別人照想,這樣方便記憶。
首先我們定義一個變數i,int i=5,然後我們做執行printf(「%d」,i++),我們會發現輸出結果是5。
是為什麼呢,我們要搞清楚printf(「%d」,i++)這句話是做兩件事:1.輸出i、2.i=i+1,這裡的順序,是先輸出i,再執行i=i+1。
然後我們初始化變數i,i=5;、然後我們做執行printf(「%d」,++i)、我們會發現輸出結果是6,其實printf(「%d」,++i);做的也是這兩件事:1.輸出i、2.
i=i+1,只是先做i=i+1,然後輸出i。
ii和ii 的區別理解,i 和 i命令有什麼區別?
i i和i i 的區別 1 執行時間不同。i先執行i 1,然後執行程式i 先執行程式,然後執行i 1 int i 8 printf d n i 首先執行加法,因此列印輸出為9 printf d n i 2 進行減法的順序不同。首先執行減法,列印輸出為8 printf d n i 首先執行程式。列印輸...
簡單的c 程式設計fori 1 i100 i和i 1 for i100 i有什麼區別
你這語法應該是這樣 for int i 1 i 100 i 這個從1迴圈到99。i 1 for i 100 i 這個也是從1迴圈到99,沒有區別,也不會死迴圈。區別是變了i的使用範圍不一樣,一個在for內起作用,一個在for內,for外都可以用。i 1 for i 100 i 寫成 i 1 for ...
ii2和i2的區別,C語言i 2和i 2的區別
i i 2 和 i 2的區別主要有以下三點 1 運算順序不相同 簡單說就是i i 2 比 i 2多了一次對變數 i 的運算。i i 2是先進行i 2的運算得出一個結果,再賦值給i。i 2就是先賦值然後在進行加法。2 得到的結果不相同 c語言中i 2 等同於 i i 2 這是簡略寫法,但是計算時演算法...