计算数字的下限和上限log10值

时间:2017-07-07 13:22:44

标签: sas logarithm

我想计算一个数字的log10下限和上限值。例如。对于val=4,它应该返回1作为较低的10作为较高的log10值。

data a;
  infile datalines;
  input val;
  datalines;
4
27
38765
983434
;
run;

这应该是结果:

expected result

我如何实现这一目标以及需要哪些功能?函数log10仅计算val到10的基数值。

1 个答案:

答案 0 :(得分:2)

我不是数学博士,但log10执行log10所说的,即计算数字的log-base-10。我从来没有听说过“较低的log10”或“较高的log10”,据我所知也没有谷歌。

你想要的是具有整数对数(基数10)的数字,该数字小于或等于给定的数字,以及具有整数对数(基数10)的数字,该数字大于或等于给定的数字。 (如果给出的数字恰好是10,你不说该怎么做)。

通过在地板/ ceil之后重新取幂来轻松完成:

data _null_;
  input x;
  l_x = 10**(floor(log10(x)));
  u_x = 10**(ceil(log10(x)));
  put x= l_x= u_x=;
datalines;
4
27
38765
983434
;;;;
run;