返回顶部
首页 > 资讯 > 后端开发 > Python >java 对数和指数计算方式
  • 381
分享到

java 对数和指数计算方式

2024-04-02 19:04:59 381人浏览 八月长安

Python 官方文档:入门教程 => 点击学习

摘要

目录java计算对数和指数Java普通对数(log)计算如下代码:java计算对数和指数 public static void main(String[] args) throw

java计算对数和指数


public static void main(String[] args) throws InterruptedException{
    int a = 10;
    int b = 1000000;
    System.out.println(getlog(b,a));
   
}
static double getlog(int b,int a){
   return Math.log(b)/Math.log(a);
}

Math提供了一个自然底数的方法,Math.log(),自定义方法,但是运行结果精度会丢失。

运行结果为5.99999


 public static void main(String[] args) throws InterruptedException{
        BigDecimal a = new BigDecimal(10);
        BigDecimal b = new BigDecimal(1000000);
        System.out.println(getlog(b,a));
//
    }
    static double getlog(BigDecimal b, BigDecimal a){
       return Math.log(b.doubleValue())/Math.log(a.doubleValue());
    }

结果为6.0

精度出问题就找BigDecimal 就可以了。

指数的话,直接使用Math.pow(a,b)就可以了。

Java普通对数(log)计算

Java给我提供的数学计算的工具类Math计算对数的函数有两个:


    
    public static double log(double a) {
        return StrictMath.log(a); // default impl. delegates to StrictMath
    }
 
    
    public static double log10(double a) {
        return StrictMath.log10(a); // default impl. delegates to StrictMath
    }

log(double a),log10(double a)从源码doc注释我们可以看到分别是计算自然对数和以10为底的对数。

如下代码:


double x = Math.log(10);

等价于:x = ln10 或 x = loge(10),即以e为底的自然对数。

问题来了,如果我们要计算非常规底数的对数怎么办呢?比如我们要计算以33为底27的对数(也就是33的多少次方运算结果为27)?

这个就需要使用数学的换底公式:logx(y)=ln(y)/ln(x);

代码实现以x为底y的对数计算工具类:


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

这样我们计算以33为底27的对数:


    public static void main(String[] args) {
        double log = log(27, 33);
        System.out.println(log);
    }
 
    private static double log(double value, double base) {
        return Logarithm.log(value) / Math.log(base);
    }

计算结果:0.9426082478202944

本demo使用log以及换底公式,也可以使用log10和换底公式计算,结果是一样的。

如:


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

普通底对数计算的关键点在于使用换底公式转换为工具类提供的特殊对数进行计算即可。

以上为个人经验,希望能给大家一个参考,也希望大家多多支持编程网。

--结束END--

本文标题: java 对数和指数计算方式

本文链接: https://lsjlt.com/news/132516.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • java 对数和指数计算方式
    目录java计算对数和指数Java普通对数(log)计算如下代码:java计算对数和指数 public static void main(String[] args) throw...
    99+
    2024-04-02
  • Java如何计算数学表达式
    这篇文章主要为大家展示了“Java如何计算数学表达式”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“Java如何计算数学表达式”这篇文章吧。Java字符串转换成算术表达式计算并输出结果,通过这个工...
    99+
    2023-05-30
    java
  • java中关于数列求和的计算方法
    题目描述:输入n和a,求a+aa+aaa+…aa…a(n个a),如当n=3,a=2时,2+22+222的结果为246。java相关视频教程:java教学视频输入:包含两个整数,n和a,含义如上述,你可以假定n和a都是小于10的非负整数 输...
    99+
    2021-07-30
    java教程 java 数列求和 方法
  • java怎么对百万条数据做计算
    对百万条数据进行计算需要考虑到内存的限制和计算的效率。以下是一些常见的处理方法:1. 使用数据库:将数据存储在数据库中,然后使用SQ...
    99+
    2023-09-13
    java
  • Vue中computed计算属性和data数据获取方式
    目录computed计算属性和data数据获取解决方法一解决方法二computed计算属性取对象的值,第一次报错undefined报错和打印值解决方案computed计算属性和dat...
    99+
    2024-04-02
  • Shell中整数计算的几种方式
    在Shell中可以使用下列方式来做整数的计算(+,-,*,/) 方式一: linux:~ # A=1 linux:~ # B=2 linux:~ # C=$(($A+$B)) linux:~ # echo $C 3 ...
    99+
    2022-06-04
    shell整数计算 shell中整数计算的几种方式
  • Pandas 计算相关性系数corr()方式
    目录Pandas 计算相关性系数corr()相关:数据之间有关联,相互有影响相关性系数:衡量相关性强弱的构造如下数据pandas相关系数-DataFrame.corr()参数参数说明...
    99+
    2024-04-02
  • 怎么用bootstrap计算C指数
    要使用Bootstrap计算C指数,首先需要将数据集进行重复抽样,生成多个新的数据集。然后,对于每个新的数据集,计算C指数。最后,使...
    99+
    2023-08-24
    bootstrap
  • Vue3计算属性和异步计算属性方式
    目录一、简要介绍二、计算属性核心源码 三、异步计算属性核心源码一、简要介绍 不论是计算属性,还是异步计算属性,都是依托于Vue3整体的响应式原理实现的。其核心依旧是Reac...
    99+
    2024-04-02
  • 怎么在Python中对质数和完全数进行计算
    这篇文章将为大家详细讲解有关怎么在Python中对质数和完全数进行计算,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。python是什么意思Python是一种跨平台的、具有解释性、编译性、互动...
    99+
    2023-06-07
  • 浅谈numpy 中dot()函数的计算方式
    如下所示: a = np.arange(1, 5).reshape(2, 2) b = np.arange(2, 6).reshape(2, 2) c = a * b dot =...
    99+
    2024-04-02
  • 云计算数据加密方式有哪些
    云计算中的数据加密方式有以下两种内容感知加密内容感知加密一般用于数据防泄露,由内容感知软件理解数据或格式,并基于策略设置加密,其加密过程不需要用户的干预即可对数据的安全进行保障。保格式加密保格式加密是通过检测数据的敏感程度来决定加密及维持数...
    99+
    2024-04-02
  • 云计算和大数据指的是什么意思
    这篇文章主要介绍云计算和大数据指的是什么意思,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!云计算是指通过大量在云端的计算资源进行计算,再将结果返回给用户。大数据是指无法在一定时间范围内用常规软件工具进行捕捉、管理和处...
    99+
    2023-06-14
  • php 数组计算求和
    在PHP中,数组是一种非常常用的数据结构。它可以存储任意类型的数据,并且可以用各种方式进行操作。其中,数组计算求和也是一个非常常见的操作。本文将讨论如何使用PHP计算数组中元素的和。一、使用for循环计算数组元素的和一种简单的方法是使用fo...
    99+
    2023-05-24
  • java8 如何实现分组计算数量和计算总数
    java8分组计算数量和计算总数 package com.pig4cloud.pigx.admin.api.vo; import lombok.Builder; import l...
    99+
    2024-04-02
  • java8怎么实现分组计算数量和计算总数
    本篇内容介绍了“java8怎么实现分组计算数量和计算总数”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!java8分组计算数量和计算总数pac...
    99+
    2023-06-20
  • python 实现体质指数BMI计算
    看代码吧~ name = input('Name') height = input('Height(m):') weight = input('Weight(kg):') BIM = float(float...
    99+
    2022-06-02
    python 体质指数 BMI指数
  • 分布式实时计算中如何应用Java和NumPy的数学分布算法?
    随着计算机技术的发展,分布式实时计算变得越来越重要。Java和NumPy是两种常用的语言和工具,它们有着强大的数学分布算法,可以在分布式实时计算中发挥重要作用。本文将介绍如何使用Java和NumPy的数学分布算法在分布式实时计算中进行计算...
    99+
    2023-10-17
    numy 分布式 实时
  • 习题3:数字和数学计算
    数学运算符号:1.    +    加号(plus)2.    -     减号...
    99+
    2023-01-30
    习题 数学 数字
  • numpy 中dot()函数的计算方式有哪些
    这篇文章主要介绍了numpy 中dot()函数的计算方式有哪些,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。如下所示:a = np.arange(1,&n...
    99+
    2023-06-15
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作