java对数计算

摘要:
Java对数函数的计算方法非常有问题,但API中存在令人惊讶的错误。但是如果您使用以下方法,您可以轻松地解决在使用Java处理数字时遇到的小问题。Sun的J2SE提供了一种Java对数方法——doublejava。lang.MathLog,易于使用。请参见以下代码:double=Mathlog;等价于:x=ln5或x=loge5,即以e为底的自然对数。如果你想用Java计算对数,你应该怎么计算不同的对数?不幸的是,我们无法计算基数为10或基数为2的对数。但它们在计算Java对数时使用最多。

     Java对数函数的计算方法非常有问题,然而在API中却有惊人的误差。但是假如运用了以下的方法,用Java处理数字所碰到的小麻烦就可以轻而易举的解决了。

     Sun的J2SE提供了一个单一的Java对数方法——double java.lang.Math.log(double),这很轻易使用。请看如下代码:

  double x = Math.log(5);

  等价于:x = ln 5 或 x = loge5,即以e为底的自然对数。

  假如你想使用Java来计算机对数,算底不同的对数又该如何做呢?很遗憾,我们还没有办法计算以10为底或以2为底的对数。但是它们却是在计算Java对数时用的最多的。要想解决这个问题,需要使用数学和对数方程:

  logx(y) =loge(y) / loge(x),换底公式

  这只需一段简单的Java程序来实现对数的运算:

public class Logarithm {
   static public double log(double value, double base) {
    return Math.log(value) / Math.log(base);
   }
}

  使用Java对数函数计算100的以10为底的对数就变为非常简单了:

  double log = Logarithm.log(100, 10); // log is 2.0

  512的以2为底的对数是:

  double log = Logarithm.log(512, 2); // log is 9.0

  下面的两个简单的Java对数运算方法也都是很有用的:

  static public double log2(double value) {

      return log(value, 2.0);

  }

  static public double log10(double value) {

      return log(value, 10.0);

      }

免责声明:文章转载自《java对数计算》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇C# 文件操作封装类(删除,移动,复制,重命名)阿里云人脸比对API封装下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

Navicat远程连接MySQL数据库

Navicat连接远程MySQL数据库 环境:Ubuntu 18.10 (GNU/Linux 4.18.0-13-generic x86_64)+Navicat 12.0.18(64-bit)-Premium Welcome to Ubuntu 18.10 (GNU/Linux 4.18.0-13-generic x86_64) * Documen...

LoadRunner中log的使用总结

LoadRunner中log的使用总结     1、log的设置方式。   在 runtime setting中可以设置log的生成方式:   默认的log方式:   Enable logging选中,log option是Send messages only when an error occurs.   可以修改日志的方式:   Always se...

keepalived日志

默认日志存放在/var/log/messages 一、查看配置文件 # Options for keepalived. See `keepalived --help'output and keepalived(8) and # keepalived.conf(5) man pages fora list of all options. Here are t...

nginx 开启x-forward

192.168.137.2 node1:/etc/nginx#cat /etc/nginx/nginx.conf worker_processes 1; #error_log logs/error.log; #error_log logs/error.log notice; #error_log logs/error.log info;...

Mysql+Keepalived双主热备高可用操作记录

我们通常说的双机热备是指两台机器都在运行,但并不是两台机器都同时在提供服务。当提供服务的一台出现故障的时候,另外一台会马上自动接管并且提供服务,而且切换的时间非常短。MySQL双主复制,即互为Master-Slave(只有一个Master提供写操作),可以实现数据库服务器的热备,但是一个Master宕机后不能实现动态切换。使用Keepalived,可以通过...

GIT基础(八):查看提交历史

Git 提交历史一般常用两个命令: git log - 查看历史提交记录。 git blame <file> - 以列表形式查看指定文件的历史修改记录。 1 git log 在使用 Git 提交了若干更新之后,又或者克隆了某个项目,想回顾下提交历史,我们可以使用 git log 命令查看。 针对我们前一章节的操作,使用 git log ...