Chinaunix
标题:
c语言如何将数取整。急!!!
[打印本页]
作者:
chen_mh
时间:
2003-12-13 21:07
标题:
c语言如何将数取整。急!!!
如何将(exp((len-i+1)*ln(2)+0.5)取整。
谢谢。
作者:
soloarrow
时间:
2003-12-13 21:13
标题:
c语言如何将数取整。急!!!
直接用(int)(exp((len-i+1)*ln(2)+0.5)强制转换试试?
作者:
chen_mh
时间:
2003-12-13 21:35
标题:
c语言如何将数取整。急!!!
但是我这样写wi=(int)(exp((len-i+1)*ln(2)+0.5)%11为什么报这个错:
"/home/wucb/src/appl/acct/acc_xjzhwh.ec", line 647: error: Syntax error before or at: wi
请问如何修改达到我的目的。
作者:
soloarrow
时间:
2003-12-13 21:44
标题:
c语言如何将数取整。急!!!
什么环境啊,ln这个函数能用吗?我怎么不能用啊?好几个主机上都没有啊。
作者:
chen_mh
时间:
2003-12-13 21:45
标题:
c语言如何将数取整。急!!!
sco unix环境
作者:
soloarrow
时间:
2003-12-13 21:47
标题:
c语言如何将数取整。急!!!
我这里没有那个环境,这样好了,你把exp((len-i+1)*ln(2)的结果给我,我帮你试试,我的主机是sun。
作者:
chen_mh
时间:
2003-12-13 21:53
标题:
c语言如何将数取整。急!!!
不好意思,我LN可能不是C函数,LN是PASCAL中的函数,我将他用到C语言中。LN(X)是对数函数的意思。对数函数在C语言的对数函数是什么呢?
作者:
soloarrow
时间:
2003-12-13 22:06
标题:
c语言如何将数取整。急!!!
不好意思我没有找到那个求对数的函数(标准c里好像有ln,但unix下好像没有)我只好将ln(2)用计算器求出来代替一下,下面的程序在sun主机上实现的:
#include <iostream>;
#include <math.h>;
using namespace std;
int main (void)
{
int wi;
cout << ((int)(exp((8-3+1)*0.69314718055994530941723212145818+0.5)))%11 << endl;;
return 0;
}
结果是:6
作者:
lenovo
时间:
2003-12-13 22:23
标题:
c语言如何将数取整。急!!!
#include <math.h>;
Declaration:
double log10(double x);
Returns the common logarithm (base-10 logarithm) of x.
Range:
There is no range limit on the argument or return value.
Declaration:
double ceil(double x);
Returns the smallest integer value greater than or equal to x.
Range:
There is no range limit on the argument or return value.
Declaration:
double floor(double x);
Returns the largest integer value less than or equal to x.
Range:
There is no range limit on the argument or return value.
复制代码
作者:
xinying110
时间:
2003-12-14 11:21
标题:
c语言如何将数取整。急!!!
各位老大出错的时候可以看看里面的说明吧?
好像是语法出错了是不是?????
作者:
unicorns
时间:
2003-12-15 10:42
标题:
c语言如何将数取整。急!!!
#include <math.h>;
double log(double) ;//求以e为底的对数
double log10(double) ;// 求以10为底的对数
欢迎光临 Chinaunix (http://bbs.chinaunix.net/)
Powered by Discuz! X3.2