# LOG

The **LOG** math function returns the natural logarithm of a specified numerical value.

*Syntax:* logarithm = LOG(value)

- Value parameter MUST be greater than 0! "Illegal function call" error using negative or zero values!
- The natural logarithm is the logarithm to the base
**e = 2.718282**(approximately). - The natural logarithm of
*a*is defined as the integral from 1 to*a*of dx/x. - Returns are default SINGLE precision unless the value parameter uses DOUBLE precision.

*Example 1:* FUNCTION to find the base ten logarithm of a numerical value.

FUNCTION Log10#(value AS DOUBLE) STATIC Log10# = LOG(value) / LOG(10.#) END FUNCTION

*Explanation:*The natural logarithm of the value is divided by the base 10 logarithm. The LOG of ten is designated as a DOUBLE precision return by using # after the Log10 value. The return tells you the number of times 10 goes into a value.

*Example 2:* A binary FUNCTION to convert INTEGER values using LOG to find the number of digits the return will be.

FUNCTION BIN$ (n&) IF n& < 0 THEN EXIT FUNCTION 'positive numbers only! negative error! FOR p% = 0 TO INT(LOG(n& + .1) / LOG(2)) ' added +.1 to get 0 to work IF n& AND 2 ^ p% THEN s$ = "1" + s$ ELSE s$ = "0" + s$ 'find bits on NEXT p% IF s$ = "" THEN BIN$ = "&B0" ELSE BIN$ = "&B" + s$ 'check for zero return END FUNCTION

*Explanation:*The LOG of a**positive**INTEGER value is divided by the LOG of 2 to determine the number of binary digits that will be returned. The FOR loop compares the value with the exponents of two and determines if a bit is ON or OFF as "1" or "0".

*See also:*

*Navigation:*