C語言中、Qt中,都沒有以任意爲底數的對數函數,所以log5 ^3 [以5爲底]是沒有的。但是可以用logx(y)=ln(y)/ln(x)來代替,修改代碼如下
1、Qt中對數,通過自然對數qLn()轉換一下,logx(y)=ln(y)/ln(x)
- #include <QtWidgets/QApplication>
- #include <QDebug>
- #include <QtCore/qmath.h>
- int main(int argc, char *argv[])
- {
- double a,b;
- a=2*3.14-1;
- b=qLn(3)/qLn(5);
- }
2、Qt中求指數,通過qPow(qreal x, qreal y),相當於x的y次方。y是指數
-
- #include <QtWidgets/QApplication>
- #include <QDebug>
- #include <QtCore/qmath.h>
- int main(int argc, char *argv[])
- {
- double b;
- b=qPow(2,1); //b = 2
- }
3、Qt中求以常數e爲底數的指數。正好是qLn()的逆反。用qExp(qreal y)
- #include <QtWidgets/QApplication>
- #include <QDebug>
- #include <QtCore/qmath.h>
- int main(int argc, char *argv[])
- {
- double b;
- double a = qLn(4000000); //a=15.201804919084164
- b=qExp(a); //b = 3999999.9999999986 有精度損失
- }
此外還有常用的:
qreal qCos(qreal v) qreal qAcos(qreal v) //餘弦、反餘弦
qreal qSin(qreal v) qreal qAsin(qreal v) //正弦、反正弦
qreal qTan(qreal v) qqreal qAtan(qreal v) //tan函數,arctan函數
real qAtan2(qreal y, qreal x) //求一個座標點的反正切函數
int qCeil(qreal v) //返回大於或者等於指定表達式的最小整數
qreal qFabs(qreal v) //求浮點數x的絕對值
int qFloor(qreal v) //其功能是“向下取整”,或者說“向下舍入”,即取不大於x的最大整數(與“四捨五入”不同,下取整是直接去掉小數部分)
qreal qLn(qreal v) qqreal qExp(qreal v)//自然對數以及相反值
qreal qPow(qreal x, qreal y) //計算x的y次冪
qreal Sqrt(qreal v) //平方根計算