c语言里log函数的问题

[复制链接]
查看11 | 回复1 | 2011-3-23 01:01:02 | 显示全部楼层 |阅读模式
在math.h里,只有以e和10为底的函数

要是以2为底,我用换底公式H=rate*log(rate)/log(2)

rate是我程序里已求的float变量,H是double

为什么最后输出是-1.#QNAN

难道这精度不够?还是C里面用换底公式都有这个问题?


这个是套在一个for循环里的,这个循环求rate没问题,但就在H这就不行了

rate是大于0小于1的
回复

使用道具 举报

千问 | 2011-3-23 01:01:02 | 显示全部楼层
<pre id=\"best-answer-content\" class=\"reply-text mb10\">rate可能为0,导致log()函数无意义。你可以试试讨论rate为0的情况。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行