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(x) / loge(y),换底公式

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

package com.generationjava.math;

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 以2为底的对数_Java对数函数及Java对数运算相关推荐

  1. java.lang类在电脑哪个位置_Java中的java.lang.Class API 详解

    且将新火试新茶,诗酒趁年华. 概述 Class是一个位于java.lang包下面的一个类,在Java中每个类实例都有对应的Class对象.类对象是由Java虚拟机(JVM)自动构造的. Class类的 ...

  2. java中的进制输出转换_Java I/O : Java中的进制详解

    作者:李强强 上一篇,泥瓦匠基础地讲了下Java I/O : Bit Operation 位运算.这一讲,泥瓦匠带你走进Java中的进制详解. 一.引子 在Java世界里,99%的工作都是处理这高层. ...

  3. java 8流在另一个流_Java 8流– Java流

    java 8流在另一个流 Welcome to Java 8 Stream API tutorial. In the last few java 8 posts, we looked into Jav ...

  4. 对数 java_Java对数函数及Java对数运算

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

  5. java int相除向上取整_Java基础篇——Java运算符

    Java运算符按功能可分为:算数运算符.关系运算符.逻辑运算符.位运算符.赋值运算符和条件运算符. 算数运算符 算术运算符包括通常的加(+).减(-).乘(*).除(/).取模(%),完成整数型和浮点 ...

  6. Java点击按钮加一行数据_java - 单击按钮java时如何从txt文件绘制下一行? - SO中文参考 - www.soinside.com...

    单击按钮java时如何从txt文件绘制下一行? 问题描述 投票:0回答:1 import javax.swing.*; import java.awt.*; import java.awt.event ...

  7. java中基本字节输出流类是_java中基本输入输出流的解释

    网络程序的很大一部分是简单的输入输出,即从一个系统向另一个系统移动字节.字节就是字节,在很大程度上,读服务器发送的数据与读取文件没什么不同:向客户传送数据与写入一个文件也没有什么区别. Java中输入 ...

  8. 简述java规范要注意哪些问题_JAVA学习:JAVA基础面试题(经典)

    第一阶段题库 基础知识部分: 1. JDK是什么?JRE是什么? a) 答:JDK:java开发工具包.JRE:java运行时环境. 2. 什么是java的平台无关性? a) 答:Java源文件被编译 ...

  9. 【教程+源码】Java开发经典游戏飞翔的小鸟_Java游戏项目Flappy Bird像素鸟游戏

    在飞翔的小鸟游戏中,玩家只需通过点击方向键操纵让小鸟避开绿色管道等障碍物即可继续前进.如果小鸟碰到管道,游戏立即结束. 那么如何用Java编写一款属于自己的飞翔的小鸟游戏呢?其过程并不复杂,本课程详细 ...

  10. 【源码及课件分享】Java实战项目之酒店客房管理系统_Java项目开发_Java项目实战

    Java实战项目又双叒叕来咯~小伙伴们请查收~酒店客房管理系统![源码及课件分享]Java实战项目之酒店客房管理系统_Java项目开发_Java项目实战_Java毕业设计https://www.bil ...

最新文章

  1. python3.8.1安装教程-记一次Python3.8.1安装
  2. python turtle画气球-使用python在mac上简单弹出气球消息
  3. sql-server基础三(select 、update、insert,delete)
  4. 使用CXF 2.7.5出现的java.lang.RuntimeException: Cannot create a secure XMLInputFactory错误解决...
  5. Script:Collect vip resource Diagnostic Information
  6. 前端知识区别和学习路线_个人收藏
  7. r 保留之前曲线_生存曲线居然能够批量绘制了
  8. 基础组件完善的今天,如何通过业务组件提效?
  9. Java 算法 复数求和
  10. C++11/14::右值引用
  11. 【微服务架构】SpringCloud组件和概念介绍
  12. 粒子滤波(PF)原理详解
  13. 聊一聊输入阻抗、输出阻抗和阻抗匹配
  14. Windows 7 插件KB4474419安装 Symantec Endpoint Protection 只能安装在具有SHA-2代码签名支持更新(KB4474419)的系统上
  15. Gradle‘s dependency cache may be corrupt (this sometimes occurs after a network connection timeout)
  16. 小米路由器3G(R3G)刷潘多拉
  17. java lang arithmetic_java.lang.ArithmeticException: Rounding necessary
  18. 【学习笔记】PHP进阶
  19. [ MySQL ] 使用Navicat进行MySQL数据库备份 / 还原(Part 2:备份.sql文件方式)
  20. java中去字符串中的(全角)空格

热门文章

  1. laydate时间控件:开始时间,结束时间最大最小值,设置默认时分秒
  2. WordPress插件 UberGrid 高级相册图片分享中文插件[更新至v2.0.13]
  3. 如何认识会计科目,看懂财务报表?
  4. 详解ASIC设计流程
  5. android ppt的动画效果怎么做,Android 仿 PPT 进入动画效果合集
  6. 2018麦考林杂志计算机科学,加拿大大学2020年最新的麦考林杂志排名
  7. Triple Flips CodeForces - 1072E
  8. 使用bat脚本创建快捷方式
  9. python 进行照片分类_python 照片文件名分类
  10. 安装Ubuntu后必须要做的几件事(一)--基础应用篇