PrecisionCalc
xl
Precision
Get Your Numbers Right
xlpLOG
Returns the logarithm of a number to a specified base, with up to 32,767 significant digits of precision. Same as Excel's built-in LOG function, but with high precision.
Syntax
xlpLOG(num,num_base,exponential_notation,maximum_significant_digits)
num | Required. The number for which to find the logarithm. Must be a positive number. |
num_base | Required. The base of the number. Must be a positive number. 10 by default. |
exponential_notation | Optional. Determines whether result is formatted in exponential notation. Set to TRUE to format in exponential notation. FALSE by default. |
maximum_significant_digits | Optional. Determines the maximum number of significant digits to be returned. Default is 100, or the user's custom maximum set in the About box, or the maximum number allowed by the edition of xlPrecision, whichever is less. |
Remarks
xlPrecision results are returned as text that look like numbers, not as values that Excel recognizes as numbers. This is because Excel would truncate the results to 15 significant digits if it recognized them as numbers.
num and num_base can accept both numbers and text.
num and num_base can accept text up to 32,767 characters long.
maximum_significant_digits is ignored if it is higher than the maximum significant digits allowed by the edition of xlPrecision.
Use maximum_significant_digits to increase calculation speed where desired. The lower the number used, the faster the calculation.
You can use the results of xlPrecision functions as the operands in other xlPrecision formulas without losing any precision, but using them as operands in Excel's arithmetic functions will truncate them to 15 significant digits.
If the return value is so large that it has more than 32,767 characters to the left of the decimal, then xlPrecision is of course unable to return a correct value and instead returns "#VALUE!". Note, that's a vastly larger number than Excel can return without xlPrecision. Excel itself can only return or recognize a number with no more than 308 digits to the left of the decimal.
The 32,767 SD edition can only provide a maximum of 32,767 total characters, including all formatting characters such as decimal, leading hyphen or parentheses for negatives, and thousands separators. As a result, it can only return the maximum 32,767 significant digits when the result is an unformatted positive integer. This is due to Excel's limitation of 32,767 characters in a cell. In all cases, the 32,767 SD edition will give you as many significant digits as possible with the formatting you have chosen.
Depending on how many significant digits the edition of xlPrecision provides, the result may be too long to conveniently view. You can view the full result by right-clicking the cell and choosing Format Cells | Alignment | Wrap Text, and widening the column to the width of the screen. An easy way to view the full result without changing column widths or wrapping text is to right-click the cell, choose Copy, and then paste into Notepad or a word processor.
Examples
Formula | Description |
=xlpLOG(123) | Logarithm of 123, to base 10. |
=xlpLOG(123,16) | Logarithm of 123, to base 16. |
=xlpLOG(123,,TRUE) | Logarithm of 123, to base 10, in exponential notation. |
=xlpLOG(123,,,500) | Logarithm of 123, to base 10, with 500 significant digits. |
See Also