㈠ c語言中,實型數據和浮點型數據是啥關系
從數學角度來看實數是相對於虛數來說的,它包含無理數和有理數,而在計算機中因為硬體的限制是不可能完全表示無理數的,只能進行精度取捨,所以在C語言中實數類型和浮點數類型實際上表示的是同一個意思,在C語言中一般用float表示單精度數,一般佔32個2進制bit位,double類型表示雙精度數,一般佔64個2進制bit位,long double類型表示多精度浮點數,一般有64位、80位、128位等等。
㈡ 在c語言中,如何表示實數啊是用float還是double,倆者有什麼不一樣嗎一般定義實數用哪個那復數呢
在標准C語言中,浮點數有單精度浮點數(float)和雙精度浮點數(double)兩種,有的C版本還支持第三種長雙精度浮點數(long double)。解決方法如下:
1、首先,定義一個雙精度數n,用來保存被除數。
㈢ C語言中實數就是專指小數
不是,C中叫實型,包括整型和浮點型,其中整型指整數類型,浮點型包括所有小數類型。
㈣ C語言中,復數是什麼意思
a+bi這種樣式的數,比實數更大的集合
㈤ C語言 定義一個能夠表示復數的結構類型,一個復數包括實數與虛數兩個部分
struct complex{
double r;
double i;
}
㈥ 實數和虛數的區別是什麼
一、定義不同
1、實數
實數可以用來測量連續的量。理論上,任何實數都可以用無限小數的方式表示,小數點的右邊是一個無窮的數列(可以是循環的,也可以是非循環的)。
在實際運用中,實數經常被近似成一個有限小數(保留小數點後 n 位,n為正整數)。在計算機領域,由於計算機只能存儲有限的小數位數,實數經常用浮點數來表示。
2、虛數
在數學里,將偶指數冪是負數的數定義為純虛數。所有的虛數都是復數。定義為i²=-1。但是虛數是沒有算術根這一說的,所以±√(-1)=±i。對於z=a+bi,也可以表示為e的iA次方的形式,其中e是常數,i為虛數單位,A為虛數的幅角,即可表示為z=cosA+isinA。
實數和虛數組成的一對數在復數范圍內看成一個數,起名為復數。虛數沒有正負可言。不是實數的復數,即使是純虛數,也不能比較大小。
二、起源不同
1、實數
在公元前500年左右,以畢達哥拉斯為首的希臘數學家們認識到有理數在幾何上不能滿足需要,但畢達哥拉斯本身並不承認無理數的存在。 直到17世紀,實數才在歐洲被廣泛接受。18世紀,微積分學在實數的基礎上發展起來。1871年,德國數學家康托爾第一次提出了實數的嚴格定義。
2、虛數
虛數」這個名詞是17世紀著名數學家、哲學家笛卡爾創制,因為當時的觀念認為這是真實不存在的數字。後來發現虛數可對應平面上的縱軸,與對應平面上橫軸的實數同樣真實。
人們發現即使使用全部的有理數和無理數,也不能解決代數方程的求解問題。像x²+1=0這樣最簡單的二次方程,在實數范圍內沒有解。
12世紀的印度大數學家婆什伽羅都認為這個方程是沒有解的。他認為正數的平方是正數,負數的平方也是正數,因此,一個正數的平方根是兩重的;一個正數和一個負數,負數沒有平方根,因此負數不是平方數。這等於不承認方程的負數平方根的存在。
三、基本運算不同
1、實數
實數可實現的基本運算有加、減、乘、除、乘方等,對非負數(即正數和0)還可以進行開方運算。實數加、減、乘、除(除數不為零)、平方後結果還是實數。任何實數都可以開奇次方,結果仍是實數,只有非負實數,才能開偶次方其結果還是實數。
2、虛數
一個數的ni次方為:
xni= cos(ln(xn)) + i sin(ln(xn)).
一個數的ni次方根為:
x1/ni= cos(ln(x1/n)) - i sin(ln((x1/n)).
以i為底的對數為:
log_i(x) = 2 ln(x)/ iπ.
i的餘弦是一個實數:
cos(i) = cosh(1) = (e + 1/e)/2 = (e² + 1) /2e = 1.54308064.
i的正弦是虛數:
sin(i) = sinh(1) i =[(e - 1/e)/ 2]i = 1.17520119 i.
i,e,π,0和1的奇妙關系:
eiπ+1=0
ii=e-π/2
㈦ 在c語言里怎麼判定一個數是不是實數啊
在C語言中,數據類型中的整型,浮點型,字元型數皆為實數啊? 難道會存在虛數或復數嗎?
而且 一個變數的數據類型是由你的變數聲明決定的,一個表達式返回結果是由表達式內的參與計算的變數及自動類型轉換決定的,從而無須存在上述問題的呀?也許我沒有正確理解你的問題的吧……
㈧ 什麼是虛數它和實數有什麼區別
實數,是有理數和無理數的總稱。實數可以分為有理數和無理數兩類,或代數數和超越數兩類。
在數學中,虛數就是形如a+b*i的數,其中a,b是實數,且b≠0,i² = - 1。
虛數這個名詞是17世紀著名數學家笛卡爾創立,因為當時的觀念認為這是真實不存在的數字。後來發現虛數a+b*i的實部a可對應平面上的橫軸,虛部b與對應平面上的縱軸,這樣虛數a+b*i可與平面內的點(a,b)對應。
(8)c語言虛數與實數擴展閱讀
像x+1=0這樣最簡單的二次方程,在實數范圍內沒有解。12世紀的印度大數學家婆什伽羅都認為這個方程是沒有解的。他認為正數的平方是正數,負數的平方也是正數。
因此,一個正數的平方根是兩重的;一個正數和一個負數,負數沒有平方根,因此負數不是平方數。這等於不承認方程的負數平方根的存在。
到了16世紀,義大利數學家卡爾達諾在其著作《大術》(《數學大典》)中,把記為1545R15-15m這是最早的虛數記號。但他認為這僅僅是個形式表示而已。1637年法國數學家笛卡爾,在其《幾何學》中第一次給出「虛數」的名稱,並和「實數」相對應。
㈨ C語言中虛數如何表示
_Complex關鍵字可以提供比較方便的復數運算,例如:
#include <complex.h>
double imaginary z=5.3I
注意事項:
1.每個程序中一定包含main()函數,盡管C語言中對函數命名沒有限制。
2.printf函數永遠不會自動換行,只能用 來實現, 回車鍵進行的換行在編譯中會出現錯誤信息。
3.在vs2008中編譯,測試需要加 system("pause");來暫停dos自動退出導致的printf無法顯示。
4.所有自定義變數必須聲明才能使用。
(9)c語言虛數與實數擴展閱讀:
在數學中,虛數是對實數系的擴展。利用復數可以構建四維坐標系,四維坐標系是三維實數坐標系與三維虛數坐標系組合而成的。三維實數坐標繫上的點與四維復數坐標系存在映射對應關系,每一個實數坐標點對應兩個不同的四維坐標點。因此,虛數只有在四維坐標中才具有現實的數值意義。
我們可以在平面直角坐標系中畫出虛數系統。如果利用橫軸表示全體實數,那麼縱軸即可表示虛數。整個平面上每一點對應著一個復數,稱為復平面。橫軸和縱軸也改稱為實軸和虛軸。在此時,一點P坐標為P(a,bi),將坐標乘上i即點繞圓心逆時針旋轉90度。
虛數單位「i」首先為瑞士數學家歐拉所創用,到德國數學家高斯提倡才普遍使用。
㈩ c語言 虛數的四則運算 高手幫幫忙!!!!
回答的也太快了吧!我剛輸完就有這么多了!
還好我這是純c語言版。
輸入數據是實屬部分和虛數部分用逗號隔開。
#include <stdio.h>
#include <stdlib.h>
typedef struct
{
double real; /*實數部分*/
double vir; /*虛數部分*/
}COMPLEX;
COMPLEX add(COMPLEX a,COMPLEX b);
COMPLEX substract(COMPLEX a,COMPLEX b);
COMPLEX multiple(COMPLEX a,COMPLEX b);
COMPLEX divide(COMPLEX a,COMPLEX b);
void printC(COMPLEX n)
{
if((n.vir - 0.00) < 0)
printf("(%.4lf%.4lfi)",n.real,n.vir);
else
printf("(%.4lf+%.4lfi)",n.real,n.vir);
}
void main()
{
COMPLEX a,b;
char c;
printf("input real and virtual of complex number a:");
scanf("%lf,%lf",&a.real,&a.vir);
fflush(stdin);
printf("input real and virtual of complex number b:");
scanf("%lf,%lf",&b.real,&b.vir);
c = '+';
printC(a); printf(" %c ",c); printC(b); printf(" = ");
printC(add(a,b));
putchar('\n');
c = '-';
printC(a); printf(" %c ",c); printC(b); printf(" = ");
printC(substract(a,b));
putchar('\n');
c = '-';
printC(a); printf(" %c ",c); printC(b); printf(" = ");
printC(multiple(a,b));
putchar('\n');
c = '/';
printC(a); printf(" %c ",c); printC(b); printf(" = ");
printC(divide(a,b));
putchar('\n');
system("pause");
}
COMPLEX add(COMPLEX a,COMPLEX b)
{
COMPLEX c;
c.real = a.real + b.real;
c.vir = a.vir + b.vir;
return c;
}
COMPLEX substract(COMPLEX a,COMPLEX b)
{
COMPLEX c;
c.real = a.real - b.real;
c.vir = a.vir - b.vir;
return c;
}
COMPLEX multiple(COMPLEX a,COMPLEX b)
{
COMPLEX c;
c.real = a.real * b.real - a.vir * b.vir;
c.vir = a.vir * b.real + a.real * b.vir;
return c;
}
COMPLEX divide(COMPLEX a,COMPLEX b)
{
COMPLEX c;
double den = b.real * b.real + b.vir * b.vir;
c.real = (a.real * b.real + a.vir * b.vir) / den;
c.vir = (a.vir * b.real - a.real * b.vir) / den;
return c;
}