直接用兩個(gè)數(shù)(或變量)相乘就可以表示平方,比如x*x
為茄子河等地區(qū)用戶提供了全套網(wǎng)頁(yè)設(shè)計(jì)制作服務(wù),及茄子河網(wǎng)站建設(shè)行業(yè)解決方案。主營(yíng)業(yè)務(wù)為成都網(wǎng)站設(shè)計(jì)、成都做網(wǎng)站、茄子河網(wǎng)站設(shè)計(jì),以傳統(tǒng)方式定制建設(shè)網(wǎng)站,并提供域名空間備案等一條龍服務(wù),秉承以專業(yè)、用心的態(tài)度為用戶提供真誠(chéng)的服務(wù)。我們深信只要達(dá)到每一位用戶的要求,就會(huì)得到認(rèn)可,從而選擇與我們長(zhǎng)期合作。這樣,我們也可以走得更遠(yuǎn)!
不過如果,需要求m的n次方,就需要用到pow(x,y)乘方(包括開方)這個(gè)庫(kù)函數(shù)了,使用pow(x,y)這個(gè)庫(kù)函數(shù),需要math.h頭文件。
其中x和y都是雙精度浮點(diǎn)(double)型。
#include"math.h"
U32sqrt_fun(U64x){
U32low=0;
U32high=x;
U32mid;
U64data;
while(low high){
mid=(low+high)/2;
data=(U64)mid*mid;
if(data x){
high=mid-1;
}else if(data x){
low=mid+1;
}else{
return(mid);
}
}
return(mid);
}
voidmain(void){
volatileU32td1,td2;
U64d=0x12345678ABCD;
td2=sqrt(d);
td1=sqrt_fun(d);
}
擴(kuò)展資料
C語(yǔ)言無(wú)參函數(shù)的定義:
dataType是返回值類型,它可以是C語(yǔ)言中的任意數(shù)據(jù)類型,例如int、float、char等。
functionName 是函數(shù)名,它是標(biāo)識(shí)符的一種,命名規(guī)則和標(biāo)識(shí)符相同。函數(shù)名后面的括號(hào)( )不能少。
body是函數(shù)體,它是函數(shù)需要執(zhí)行的代碼,是函數(shù)的主體部分。即使只有一個(gè)語(yǔ)句,函數(shù)體也要由{}包圍。
如果有返回值,在函數(shù)體中使用return語(yǔ)句返回。return出來(lái)的數(shù)據(jù)的類型要和dataType一樣。
b的類型聲明錯(cuò)誤,sprt函數(shù)返回double值。
DOUBLE 數(shù)據(jù)類型保存雙精度浮點(diǎn)數(shù)。它是一種近似數(shù)字?jǐn)?shù)據(jù)類型,在算術(shù)運(yùn)算后容易產(chǎn)生舍入誤差。DOUBLE 值的近似特性意味著在比較 DOUBLE 值時(shí)通常應(yīng)該避免使用等式的查詢。
DOUBLE 值需要 8 個(gè)存儲(chǔ)字節(jié)。
取值范圍是 -1.79769313486231e+308 到 1.79769313486231e+308,最趨近于零的數(shù)為 2.22507385850721e-308。DOUBLE 類型的值精確到 15 位有效數(shù)字,而超過第十五位就可能會(huì)產(chǎn)生舍入誤差。
sqrt()函數(shù)是cmath標(biāo)頭(在早期版本中為math.h?)的庫(kù)函數(shù),用于查找給定數(shù)字的平方根,它接受數(shù)字并返回平方根。
擴(kuò)展資料:
float 與 double 類型區(qū)別:
float 單精度浮點(diǎn)數(shù)在機(jī)內(nèi)占 4 個(gè)字節(jié),用 32 位二進(jìn)制描述。
double 雙精度浮點(diǎn)數(shù)在機(jī)內(nèi)占 8 個(gè)字節(jié),用 64 位二進(jìn)制描述
浮點(diǎn)數(shù)在機(jī)內(nèi)用指數(shù)型式表示,分解為:數(shù)符,尾數(shù),指數(shù)符,指數(shù)四部分。
數(shù)符占 1 位二進(jìn)制,表示數(shù)的正負(fù)。
指數(shù)符占 1 位二進(jìn)制,表示指數(shù)的正負(fù)。
尾數(shù)表示浮點(diǎn)數(shù)有效數(shù)字,0.xxxxxxx, 但不存開頭的 0 和點(diǎn)。
指數(shù)存指數(shù)的有效數(shù)字。
指數(shù)占多少位,尾數(shù)占多少位,由計(jì)算機(jī)系統(tǒng)決定。
可能是數(shù)符加尾數(shù)占 24 位,指數(shù)符加指數(shù)占 8 位 --?float。
數(shù)符加尾數(shù)占 48 位,指數(shù)符加指數(shù)占 16 位 --?double。
知道了這四部分的占位,按二進(jìn)制估計(jì)大小范圍,再換算為十進(jìn)制,就是你想知道的數(shù)值范圍。
表示如下:
首先要把math頭文件添加進(jìn)去
#includemath.h
在程序中調(diào)用 sqrt()函數(shù)
給個(gè)簡(jiǎn)單的例子:
#include stdio.h
#include math.h
main ()
{
int a;
double b;
a = 100;
b=sqrt (a) ; ? ?//給a開平方
pintf("%lf",b);
}
C語(yǔ)言是一門面向過程的、抽象化的通用程序設(shè)計(jì)語(yǔ)言,廣泛應(yīng)用于底層開發(fā)。C語(yǔ)言能以簡(jiǎn)易的方式編譯、處理低級(jí)存儲(chǔ)器。
C語(yǔ)言是僅產(chǎn)生少量的機(jī)器語(yǔ)言以及不需要任何運(yùn)行環(huán)境支持便能運(yùn)行的高效率程序設(shè)計(jì)語(yǔ)言。盡管C語(yǔ)言提供了許多低級(jí)處理的功能,但仍然保持著跨平臺(tái)的特性,以一個(gè)標(biāo)準(zhǔn)規(guī)格寫出的C語(yǔ)言程序可在包括類似嵌入式處理器以及超級(jí)計(jì)算機(jī)等作業(yè)平臺(tái)的許多計(jì)算機(jī)平臺(tái)上進(jìn)行編譯。
C語(yǔ)言是普適性最強(qiáng)的一種計(jì)算機(jī)程序編輯語(yǔ)言,它不僅可以發(fā)揮出高級(jí)編程語(yǔ)言的功用,還具有匯編語(yǔ)言的優(yōu)點(diǎn),因此相對(duì)于其它編程語(yǔ)言,它具有自己獨(dú)特的特點(diǎn)。具體體現(xiàn)為以下三個(gè)方面:
其一,廣泛性。C語(yǔ)言的運(yùn)算范圍的大小直接決定了其優(yōu)劣性。C語(yǔ)言中包含了34種運(yùn)算符,因此運(yùn)算范圍要超出許多其它語(yǔ)言,此外其運(yùn)算結(jié)果的表達(dá)形式也十分豐富。此外,C語(yǔ)言包含了字符型、指針型等多種數(shù)據(jù)結(jié)構(gòu)形式,因此,更為龐大的數(shù)據(jù)結(jié)構(gòu)運(yùn)算它也可以應(yīng)付。
其二,簡(jiǎn)潔性。9類控制語(yǔ)句和32個(gè)關(guān)鍵字是C語(yǔ)言所具有的基礎(chǔ)特性,使得其在計(jì)算機(jī)應(yīng)用程序編寫中具有廣泛的適用性,不僅可以適用廣大編程人員的操作,提高其工作效率,同時(shí)還能夠支持高級(jí)編程,避免了語(yǔ)言切換的繁瑣。
其三,結(jié)構(gòu)完善。C語(yǔ)言是一種結(jié)構(gòu)化語(yǔ)言,它可以通過組建模塊單位的形式實(shí)現(xiàn)模塊化的應(yīng)用程序,在系統(tǒng)描述方面具有顯著優(yōu)勢(shì),同時(shí)這一特性也使得它能夠適應(yīng)多種不同的編程要求,且執(zhí)行效率高。
c語(yǔ)言的開方函數(shù)是:sqrt()函數(shù)。
1、功能:計(jì)算一個(gè)非負(fù)實(shí)數(shù)的平方根。
2、函數(shù)原型:在VC6.0中的math.h頭文件的函數(shù)原型為double sqrt(double)。
3、說明:sqrt系Square Root Calculations(平方根計(jì)算),通過這種運(yùn)算可以考驗(yàn)CPU的浮點(diǎn)能力。
4、頭文件:math
double sqrt(double x)
參數(shù)解釋:
x 為要計(jì)算平方根的值。
如果 x 0,將會(huì)導(dǎo)致 domain error 錯(cuò)誤,并把全局變量 errno 的值為設(shè)置為 EDOM。
返回 x 平方根。
注意,使用 GCC 編譯時(shí)請(qǐng)加入-lm。
例:
擴(kuò)展資料:
sqrt()函數(shù)的注意事項(xiàng):
1、sqrt()函數(shù),里面的形參是double型的,所以調(diào)用的時(shí)候,要強(qiáng)制轉(zhuǎn)換成double型。
2、sqrt()函數(shù)都最后返回值是double型,而n是int型,所以要強(qiáng)制轉(zhuǎn)換n=(int)sqrt((double)x)。
3、到底要不要進(jìn)行強(qiáng)制轉(zhuǎn)換,需要看這個(gè)函數(shù)的形參和返回值是什么類型,如果沒有進(jìn)行強(qiáng)制轉(zhuǎn)換,有的編譯器會(huì)警告,有的會(huì)報(bào)錯(cuò),有的就直接通過。
參考資料:
百度百科--平方根計(jì)算
一般的來(lái)說在進(jìn)行開方運(yùn)算時(shí),都會(huì)使用sqrt函數(shù)進(jìn)行開方運(yùn)算。使用sqrt時(shí)就需要引用頭文件math.h。(這里使用%d來(lái)輸出整數(shù)):
#includestdio.h
#includemath.h
int Mysqrt(int n)
{
return sqrt(n*1.0);
}
int main()
{
printf("%d\n",Mysqrt(10));
printf("%d\n",Mysqrt(9));
return 0;
}
擴(kuò)展資料:
C語(yǔ)言編寫注意事項(xiàng):
1、變量名以字母和數(shù)字組成, (下劃線"_"被默認(rèn)為字符,以下劃線為首寫字母的為庫(kù)類變量名),變量常以小寫字母開頭.內(nèi)部變量命前31位有效,外部名至少前6位保持唯一性、大小寫在C語(yǔ)言中是區(qū)分的。
2、一個(gè)字符常量為一個(gè)整數(shù), 以''單引號(hào)括起。 '0' 為48, 與0沒有任何關(guān)系。
3、ANSI C語(yǔ)言的轉(zhuǎn)義符: \a 響鈴符; \b 回退符; \f 換頁(yè)符; \n 換行符; \r 回車符; \t 橫向制表符 \v 縱向制表符; \\ 反斜杠; \? 問號(hào); \' 單引號(hào);\" 雙引號(hào); \ooo 八進(jìn)制數(shù); \xhh 十六進(jìn)制數(shù);
'\0' 表示0, 即(null).通常以'\0'形式表示0 以強(qiáng)調(diào)某些表達(dá)是的字符屬性。
4、'x'與"x"的區(qū)別: 'x'表示一個(gè)整數(shù), 字母x在極其字符集中對(duì)應(yīng)的數(shù)值、"x"表示一個(gè)包含一個(gè)字符x 以及一個(gè)結(jié)束符'\0'。
5、const在聲明變量中起限制作用, 該限定變量的值不能被修改。
本文標(biāo)題:開平方函數(shù)c語(yǔ)言 c語(yǔ)言開平方函數(shù)怎么用
URL分享:http://chinadenli.net/article36/dodsgpg.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供建站公司、Google、網(wǎng)站導(dǎo)航、ChatGPT、搜索引擎優(yōu)化、
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)