LOG: Difference between revisions
Jump to navigation
Jump to search
Navigation:
Main Page with Articles and Tutorials
Keyword Reference - Alphabetical
Keyword Reference - By usage
Report a broken link
No edit summary |
No edit summary |
||
(5 intermediate revisions by the same user not shown) | |||
Line 17: | Line 17: | ||
{{CodeStart}} | {{CodeStart}} | ||
FUNCTION Log10#(value AS DOUBLE) {{Cl|STATIC}} | FUNCTION Log10#(value AS DOUBLE) {{Cl|STATIC}} | ||
Log10# = LOG(value) / LOG(10.#) | Log10# = LOG(value) / LOG(10.#) | ||
END FUNCTION | END FUNCTION | ||
{{CodeEnd}} | {{CodeEnd}} | ||
Line 25: | Line 25: | ||
''Example 2:'' A binary FUNCTION to convert [[INTEGER]] values using LOG to find the number of digits the return will be. | ''Example 2:'' A binary FUNCTION to convert [[INTEGER]] values using LOG to find the number of digits the return will be. | ||
{{CodeStart}} | {{CodeStart}} | ||
FUNCTION | FUNCTION BinStr$ (n&) | ||
IF n& < 0 THEN EXIT FUNCTION 'positive numbers only! negative error! | IF n& < 0 THEN EXIT FUNCTION 'positive numbers only! negative error! | ||
FOR p% = 0 TO INT({{Cl|LOG}}(n& + .1) / {{Cl|LOG}}(2)) ' added +.1 to get 0 to work | FOR p% = 0 TO INT({{Cl|LOG}}(n& + .1) / {{Cl|LOG}}(2)) ' added +.1 to get 0 to work | ||
IF n& {{Cl|AND}} 2 ^ p% THEN s$ = "1" + s$ ELSE s$ = "0" + s$ 'find bits on | IF n& {{Cl|AND}} 2 ^ p% THEN s$ = "1" + s$ ELSE s$ = "0" + s$ 'find bits on | ||
NEXT p% | NEXT p% | ||
IF s$ = "" THEN | IF s$ = "" THEN BinStr$ = "&B0" ELSE BinStr$ = "&B" + s$ 'check for zero return | ||
END FUNCTION | END FUNCTION | ||
{{CodeEnd}} | {{CodeEnd}} | ||
: ''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". | : ''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". | ||
{{PageSeeAlso}} | {{PageSeeAlso}} | ||
* [https://qb64phoenix.com/forum/showthread.php?tid=1114 Featured in our "Keyword of the Day" series] | |||
*[[EXP]], [[&B]] (binary number) | *[[EXP]], [[&B]] (binary number) | ||
*[[Mathematical Operations#Derived Mathematical | *[[Mathematical Operations#Derived_Mathematical_Functions|Derived Mathematical Functions]] | ||
{{PageNavigation}} | {{PageNavigation}} |
Latest revision as of 19:58, 24 May 2024
The LOG math function returns the natural logarithm of a specified numerical value.
Syntax
- logarithm! = LOG(value)
Description
- value MUST be greater than 0. "Illegal function call" error occurs if negative or zero values are used.
- 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.
Examples
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 BinStr$ (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 BinStr$ = "&B0" ELSE BinStr$ = "&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
- Featured in our "Keyword of the Day" series
- EXP, &B (binary number)
- Derived Mathematical Functions