精华内容
下载资源
问答
  • FPGA实现对数log2和10*log10

    千次阅读 2019-08-16 16:32:35
    LUT只能用在输入参数较少的情况中,Cordic看了下,感觉还挺复杂的,就没看了……这里主要讲第三种方式,无名是因为没有找到叫什么名字,它的基本思路是先求log2然后在用换底公式求log10。 1. 求log2log_2log2​ ...

    找到的实现对数的方式有三种:

    • LUT
    • Cordic
    • 无名

    LUT只能用在输入参数较少的情况中,Cordic看了下,感觉还挺复杂的,就没看了……这里主要讲第三种方式,无名是因为没有找到叫什么名字,它的基本思路是先求log2然后在用换底公式求log10。

    1. 求 l o g 2 log_2 log2

    观察下面的表格可以发现,只要找到了输入二进制从高位开始第一个为1的bit的位置,就能知道其log2的整数部分。至于小数部分,则可以使用查表的方式来实现,如果要精度比较高,就将表做细一点。总的来说,这种开销是很小的。

    二进制log2
    001002
    001012.3219
    001102.5850
    001112.8074
    000101
    010003

    2. 求 l o g 10 log_{10} log10

    在求得 l o g 2 log_2 log2以后,就可以通过换底公式求 l o g 10 log_{10} log10

    l o g a b = l o g c b l o g c a log_ab = \frac{log_cb}{log_ca} logab=logcalogcb

    不过这里要求的 10 ∗ l o g 10 10*log_{10} 10log10,做如下推导

    10 ∗ l o g 10 b = 10 ∗ l o g 2 b l o g 2 10 = 10 ∗ l o g 2 b 3.3219 = 3.0103 ∗ l o g 2 b 10*log_{10}b =\frac{10*log_2b}{log_210} = \frac{10*log_2b}{3.3219} = 3.0103*log_2b 10log10b=log21010log2b=3.321910log2b=3.0103log2b

    不管误差,在HDL实现的时候有

    3 ∗ l o g 2 b = 2 ∗ l o g 2 b + l o g 2 b = l o g 2 b &lt; &lt; 1 + l o g 2 b 3*log_2b = 2*log_2b + log_2b = log_2b &lt;&lt; 1 + log_2b 3log2b=2log2b+log2b=log2b<<1+log2b

    所以在没有使用任何乘除法的情况下,我们就实现了 l o g 2 log_2 log2 10 ∗ l o g 10 10*log_{10} 10log10

    我用systemverilog实现了上述方法,代码链接如下,没分的可以留下邮箱,记得先点赞^^

    https://download.csdn.net/download/qq_16923717/11570694

    注意:不建议将该代码用到实际的工程中,精度不够是一个原因,更重要的是该代码中有很长的if else,时序可能不好

    3. 求 l o g 10 ( a ) , 0 &lt; a &lt; 1 log_{10}(a), 0 &lt; a &lt; 1 log10(a)0<a<1

    如果输入a小于1的话,上述方法就不行了,但是通过下面的公式,我们还是可以求出来。
    l o g a ( x ∗ y ) = l o g a ( x ) + l o g a ( y ) log_a(x*y) = log_a(x) + log_a(y) loga(xy)=loga(x)+loga(y)
    比如求 l o g 10 ( 0.01 ) log_{10}(0.01) log10(0.01)
    l o g 10 ( 0.01 ) = l o g 10 ( 10 ) − l o g 10 ( 1000 ) = 1 − 3 = − 2 log_{10}(0.01) = log_{10}(10) - log_{10}(1000) = 1 - 3 =-2 log10(0.01)=log10(10)log10(1000)=13=2
    这样我们只需要在输入前对 a a a 进行放大,然后对算出的结果减去一个固定值就好了。
    .

    参考链接
    1. 用verilog实现log2的一种方法

    .
    .
    .
    .
    .
    .

    展开全文
  • python学习——log、log10、log2、log1p

    万次阅读 2018-09-08 19:52:26
    在numpy库中,有各种求对数方法,... log、log10、log2、log1p 计算自然对数、底为10的log、底为2的log、底为e的log 这里解释一下log1p: np.log1p(np.e-1)  结果为1,log1p就是求log(1+x)...

    在numpy库中,有各种求对数方法,下面是简单的对数方法。

    log、log10、log2、log1p

    计算自然对数、底为10的log、底为2的log、底为e的log

    这里解释一下log1p:

    np.log1p(np.e-1)

     结果为1,log1p就是求log(1+x)

    展开全文
  • 1. double mAns = log(243.0)/log(3.0); 1. cout(int)mAns;...1. double logAns = log10(n*1.0) / log10(3.0); 1. cout; > 其中mAns值为4.剩下两个为5.知道是精度的问题。不知道什么原理,以及区分使用。
  • Matlab基本函数-log10函数

    千次阅读 2013-12-22 12:44:53
    1、log10函数:求以10为底的对数 2、用法说明  y = log10(x) 函数对数组x的元素逐个进行以10为底的对数运算。y = a+b*i,有log10(y) = log10(abs(y))+i*atan2(b,a) 3、举例说明 >> x = 20 x = 20 >...

    1、log10函数:求以10为底的对数

    2、用法说明

          y = log10(x) 函数对数组x的元素逐个进行以10为底的对数运算。y = a+b*i,有log10(y) = log10(abs(y))+i*atan2(b,a)

    3、举例说明

    >> x = 20
    
    x =
    
        20
    
    >> y = log10(x)
    
    y =
    
        1.3010
    
    >> x = 1:20
    
    x =
    
      Columns 1 through 17
    
         1     2     3     4     5     6     7     8     9    10    11    12    13    14    15    16    17
    
      Columns 18 through 20
    
        18    19    20
    
    >> y = log10(x)
    
    y =
    
      Columns 1 through 10
    
             0    0.3010    0.4771    0.6021    0.6990    0.7782    0.8451    0.9031    0.9542    1.0000
    
      Columns 11 through 20
    
        1.0414    1.0792    1.1139    1.1461    1.1761    1.2041    1.2304    1.2553    1.2788    1.3010
    
    >> x = [34-45i 12+23i 56+78i 26.12-45.89i]
    
    x =
    
      34.0000 -45.0000i  12.0000 +23.0000i  56.0000 +78.0000i  26.1200 -45.8900i
    
    >> y = log10(x)
    
    y =
    
       1.7513 - 0.4012i   1.4140 + 0.4733i   1.9824 + 0.4118i   1.7227 - 0.4575i


    展开全文
  • 日常小记:C++中的log10函数

    千次阅读 2015-12-15 19:32:25
    今天有同学问我C++中有没有...log10(100)的返回值就是2,log(999)的返回值是二点几,不过如果你把返回值定位int型它就会自动转换成2了。#include #include<cmath>using namespace std;int main(){ int a,b; while(ci

    今天有同学问我C++中有没有什么简单的办法可以求出两个数相加的和的位数,然后就有了如题的那种方法。

    log10(100)的返回值就是2,log(999)的返回值是二点几,不过如果你把返回值定位int型它就会自动转换成2了。

    #include<iostream>
    #include<cmath>
    
    using namespace std;
    
    int main(){
        int a,b;
        while(cin>>a>>b){
            a=log10(a+b)+1;
            cout<<a<<endl;
        }    
        return 0;
    }

    初次之外还有log2()等函数,用log10l()和log10f()还可以满足不同的精度。

    这样一来就不用用许多个for循环来解决了,虽然这一篇毕竟简单(毕竟水,逃……),不过希望可以帮到初学编程的朋友。

    展开全文
  • Java Math.log10()方法

    万次阅读 2016-10-05 11:16:18
    Java Math.log10()方法用法实例教程 - 返回以10为底的double的值 如果参数是NaN或小于零,那么结果是NaN. //异常 如果参数是正无穷大,那么结果为正无穷大. 如果参数是正零或负零,那么结果是负无穷大. ...
  • log10/log2--求常用对数/以2为底的对数

    万次阅读 2015-12-28 09:03:40
    1.Y=log10(X) 计算X中的每一个元素的常用对数。 2.Y=log2(X) 计算X中的每一个元素以2为底的对数。 【实例5.17】计算向量[2+5i,5.5,100,16]中每个元素的常用对数和以2为底的对数。 >> a=[2+5i,5.5,...
  • log10() 函数

    千次阅读 2019-03-25 10:31:24
    查看更多 https://www.yuque.com/docs/share/f62d3998-8b46-47c9-818d-932111d84420
  • C语言中log,ln,log10

    万次阅读 2014-08-01 10:25:07
    数学中: ln:以e为底 lg:以10为底 log:以r
  • log10()的运用

    万次阅读 2018-12-30 11:22:45
    Leftmost Digit Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K ...两边取对数log10(M)=log10(a)+m.log10(a)表示的是小数部分, m表示的是整数部分.要恢复a的值只需要10^log10(a).
  • C++中的log10函数

    万次阅读 2017-03-04 11:21:06
    * 问题分析:运用log10函数 * 算法设计:略 */ #include #include using namespace std; int main(){ int a,b; while(cin>>a>>b) { a=log10(a+b)+1; cout; } return 0; } 运行结果: 100 900 ...
  • numpy log

    千次阅读 2018-10-27 19:01:35
    print(np.log10(100)) 10 2.以2为底的对数 print(np.log2(4)) 2 3.以自然对数为底的对数 print(np.log(np.e)) 1 4. 以n为底的对数 print(np.log(9) / np.log(3)) 2 http://www.waitingfy.com/archives/5074 ...
  • numpy.log(math.log)

    万次阅读 多人点赞 2017-12-14 20:34:38
    np.log10(x)如:>>> np.log10(100) 2.0 >>> 2,e为底 log下什么都不写默认是自然对数 如:>>> np.log(np.e) 1.0 >>> np.log(10) 2.3025850929940459
  • log函数

    千次阅读 2019-02-17 13:23:58
    1.以e为底:log(exp(n)) 2.以10为底:log10(n) 3.以m为底:log(n)/log(m)
  • Python画loglog CCDF

    千次阅读 2018-08-19 15:50:00
    data.sort() p = 1. * arange(len(data)) / (len(data)-1) # 计算各点的累计概率 F(x) p = [1-i for i in p] # 计算概率的补 1-F(x) x = np.log10(data) # logx y = np.log10(p) ...
  • matlab loglog

    万次阅读 2018-05-28 23:45:36
    loglog(x,y) x 轴和y 轴均为对数刻度(Logarithmic Scale) semilogx(x,y) semilogx(x,y) x 轴为对数刻度,y 轴为线性刻度 semilogy(x,y) semilogy(x,y) x 轴为线性刻度,y 轴为对数刻度...
  • MySQL日志系统:redo log、binlog、undo log 区别与作用

    万次阅读 多人点赞 2019-03-13 10:21:01
    日志系统主要有redo log(重做日志)和binlog(归档日志)。redo log是InnoDB存储引擎层的日志,binlog是MySQL Server层记录的日志, 两者都是记录了某些操作的日志(不是所有)自然有些重复(但两者记录的格式不同)。 ...
  • Log.v Log.d Log.e Log.i Log.w

    千次阅读 2011-07-31 21:30:41
    在调试代码的时候我们需要查看调试信息,那我们就需要用Android Log类。...android.util.Log常用的方法有以下5个:Log.v(), Log.d(),Log.i(),Log.w(),Log.e()  根据首字母对应:VERBOSE,DEBUG,IN
  • c语言对数函数log的使用

    万次阅读 多人点赞 2018-04-08 13:49:21
    c语言log函数使用:   #include&lt;stdio.h&gt; #include&lt;math.h&gt;...,log10(100)); //以10为底的对数函数 printf("%f\n",log(8)/log(2)); //计算log2^8,运...
  • Log.v,Log.d,Log.i,Log.w,Log.e的用法

    千次阅读 2019-03-26 14:37:31
    android.util.Log常用的方法有以下5个: Log.v() --> VERBOSE Log.d() --> DEBUG Log.i() --> INFO Log.w() -->WARN Log.e() -->ERROR 1、Log.v 的调试颜色为黑色的,任何消息都会输出,...
  • log4j与log4j2性能对比及log4j升级至log4j2方案

    千次阅读 多人点赞 2019-06-16 11:03:53
    1.前言 之前某个服务在压测环境中出现了问题,分析之后得知是log4jLogger对象争用厉害,很多线程阻塞在此。...关于log4j与log4j2的性能对比文章有很多,本文不过多描述,给出几张结论图及原文链接,作为参考...
  • python log函数

    千次阅读 2018-01-10 12:57:53
    import numpy as np from math import e import math print 'np.e:',np.e print 'np.log([100,10000,10000]:',np.log([100,10000,10000]) #输出结果是不是和你想象的不...print 'np.log10([100,10000,10000]:',np.log1
  • 在debug调试代码的时候我们需要查看调试信息,那我们就需要用AndroidLog类。对应到下面这张图: 常用的方法有以下5个:Log.v()Log.d()Log.i()Log.w()以及Log.e()。根据首字母对应VERBOSE,DEBUG,INFO,WARN,ERROR...
  • 本次要说明的是平时的Log.v Log.d Log.i Log.w Log.e的区别是什么?  一、Log.v 的调试颜色为黑色的,任何消息都会输出,这里的v代表verbose啰嗦的意思,平时使用就是Log.v("","");  二、Log.d的输出颜色是蓝色...
  • 函数 log()

    千次阅读 2019-05-09 10:28:32
    exp(n)值为e^n次方;...另一种为以10为底的log10函数。 e就是自然对数,大约等于2.71828. #include<iostream> #include<cmath> using namespace std; void main() { double a=10,b=20; cou...
  • loglog()函数

    千次阅读 2018-04-04 22:02:00
    数据: xd = [1, 2, 3] yd = [0.6, 0.2, 0.2] ...loglog(xd, yd, 'blacko-', 'MarkerFaceColor', [1, 0, 0]);...axis([10^0 10^2 10^-5 10^0]); 解释: loglog:用于画双对数坐标,对数坐...
  • np.log()

    千次阅读 2019-02-21 18:31:03
    以10为底 np.log10(x) 以e为底 np.log(x)
  • log函数的用法

    千次阅读 2014-01-18 10:09:48
    函数名: log10 功 能: 对数函数log,以10为底 用 法: double log10(double x); 程序例: #include #include int main(void) { double result; double x = 800.6872; result = log10(x); printf(...
  • s_log_safe开源log

    千次阅读 2021-07-17 19:41:38
    s_log_safe开源log库 s_log_safe库是一个采用MIT License协议开源的、小巧的、基于s_log(https://github.com/smallerxuan/s_log.git)开源库和s_ring_buffer(https://github.com/smallerxuan/s_ring_buffer.git)开源...
  • android.util.Log常用的方法有以下5个:Log.v() Log.d() Log.i() Log.w() 以及 Log.e() 。根据首字母对应VERBOSE,DEBUG,INFO, WARN,ERROR。 1、Log.v 的调试颜色为黑色的,任何消息都会输出,这里的v代表...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 4,716,833
精华内容 1,886,733
关键字:

log10