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语言如何将数取整。急!!!

  1. #include <math.h>;

  2. Declaration:
  3. double log10(double x);
  4. Returns the common logarithm (base-10 logarithm) of x.

  5. Range:
  6. There is no range limit on the argument or return value.

  7. Declaration:
  8. double ceil(double x);
  9. Returns the smallest integer value greater than or equal to x.

  10. Range:
  11. There is no range limit on the argument or return value.

  12. Declaration:
  13. double floor(double x);
  14. Returns the largest integer value less than or equal to x.

  15. Range:
  16. 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