直接用兩個數(shù)(或變量)相乘就可以表示平方,比如x*x
創(chuàng)新互聯(lián)長期為成百上千家客戶提供的網(wǎng)站建設服務,團隊從業(yè)經(jīng)驗10年,關注不同地域、不同群體,并針對不同對象提供差異化的產(chǎn)品和服務;打造開放共贏平臺,與合作伙伴共同營造健康的互聯(lián)網(wǎng)生態(tài)環(huán)境。為本溪企業(yè)提供專業(yè)的網(wǎng)站設計、成都做網(wǎng)站,本溪網(wǎng)站改版等技術服務。擁有10多年豐富建站經(jīng)驗和眾多成功案例,為您定制開發(fā)。
不過如果,需要求m的n次方,就需要用到pow(x,y)乘方(包括開方)這個庫函數(shù)了,使用pow(x,y)這個庫函數(shù),需要math.h頭文件。
其中x和y都是雙精度浮點(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);
}
擴展資料
C語言無參函數(shù)的定義:
dataType是返回值類型,它可以是C語言中的任意數(shù)據(jù)類型,例如int、float、char等。
functionName 是函數(shù)名,它是標識符的一種,命名規(guī)則和標識符相同。函數(shù)名后面的括號( )不能少。
body是函數(shù)體,它是函數(shù)需要執(zhí)行的代碼,是函數(shù)的主體部分。即使只有一個語句,函數(shù)體也要由{}包圍。
如果有返回值,在函數(shù)體中使用return語句返回。return出來的數(shù)據(jù)的類型要和dataType一樣。
在C語言中,沒有專門的函數(shù)來表示平方。
例如對于變量x,其平方可以表示為x*x
也可以用pow函數(shù)表示,注意:要用pow函數(shù),需要include math.h,而且x為double型。
例如:pow(10.0,2)表示10的平方,pow(double(x),2)表示x的平方。
擴展資料:
C程序是由一組變量或是函數(shù)的外部對象組成的。 函數(shù)是一個自我包含的完成一定相關功能的執(zhí)行代碼段。我們可以把函數(shù)看成一個“黑盒子”,你只要將數(shù)據(jù)送進去就能得到結果,而函數(shù)內部究竟是如何工作的,外部程序是不知道的。
外部程序所知道的僅限于輸入給函數(shù)什么以及函數(shù)輸出什么。函數(shù)提供了編制程序的手段,使之容易讀、寫、理解、排除錯誤、修改和維護。
C程序中函數(shù)的數(shù)目實際上是不限的,如果說有什么限制的話,那就是,一個C程序中必須至少有一個函數(shù),而且其中必須有一個并且僅有一個以main為名的函數(shù),這個函數(shù)稱為主函數(shù),整個程序從這個主函數(shù)開始執(zhí)行。
參考資料來源:百度百科-C語言
C語言中sqrt函數(shù)是指的開方運算函數(shù),得到的結果是函數(shù)變量(可以是數(shù)值,也可以是變量名)的算術平方根。如輸入m=sqrt(4);,則輸出結果為2?;蛘邔τ谧兞縜有賦值9,,則輸入m=sqrt(9),輸出結果為3.
需要注意的是以下三點:
sqrt函數(shù)運行的是結果是算術平方根,即不能運算處負數(shù)值,也不能輸出虛數(shù)結果。如需要得到算術平方根中的負數(shù)值,則應該在sqrt函數(shù)前添加負號。
sqrt函數(shù)的參數(shù)必須是非負數(shù)值,如果是負數(shù)值,則輸出會報錯,即數(shù)值無效;如果參數(shù)是未定義的非數(shù)字變量,則按回車后也會報錯,即變量名有誤。
sqrt函數(shù)的計算精度與C語言設置的精度有關,可以通過設置更改精度。
求平方太容易,說下求n^m mod t,用冪取模算法:
int f(int n,int m,int t)
{
if(m==1)return n%t;
int p=f(n,m/2,t) %t;
p=p*p %t;
if(m%2!=0)p=p*n%t;
return p;
}