Exponent calculation

95 Views Asked by At

How to calculate the decimal powers of any number? (without using log )

Example:

$$10^{0.3010} \approx 2$$

I have asked to my maths teacher and many such persons and no one knows the answer.

The another question is how to represent any real number as $10$s power?

eg:

$$2\approx 10^{0.3010}$$

4

There are 4 best solutions below

0
On

For rational numbers, the number $a^{\frac pq}$ is defined as $$\displaystyle\sqrt[q]{a^p}$$

0
On

I would say that "Feynman physics lectures" here:

http://www.feynmanlectures.caltech.edu/I_22.html

0
On

Q1: How to calculate $10^x$ for $x\in \mathbb{R}$ without logarithm.

A1: Use the hints from fellow users georg and 5xum. The use of a logarithm is avoided by using basic operations and integer exponentiation and root calculation.

It starts with approximating the real number $x$ by some rational number $r = p / q \in \mathbb{Q}$ with $x \approx r$ which means $$ 10^x \approx 10^r = 10^{p/q} = \sqrt[q]{10^p} $$ or by a finite decimal representation with $n$ digits fractional part, which is just a different specified rational number, $$ x = \lfloor x \rfloor + \sum_{k=1}^\infty d_k \, 10^{-k} \approx \lfloor x \rfloor + \sum_{k=1}^n d_k \, 10^{-k} $$

with $d_k \in \{ 0, \ldots, 9 \}$ and thus $$ 10^x \approx 10^{\lfloor x \rfloor} \prod_{k=1}^n 10^{d_k \, 10^{-k}} =10^{\lfloor x \rfloor} \prod_{k=1}^n \sqrt[10^k]{10^{d_k}} $$ for this you need to multiply integers to evaluate $10^{\lfloor x \rfloor}$ and $10^{d_k}$, to multiply rational numbers $\sqrt[10^k]{10^{d_k}}$ and to be able to pull a $10^k$-th root.

Evaluating a root can be done by using the Newton-Raphson procedure, e.g. on $f(z) = z^{10^k} - 10^{d_k} = 0$, which also just uses basic operations and needs the derivative $f'(z) = 10^k z^{10^k -1}$.

This is probably not what is used in modern math libraries, but it could be done in principle.

Q2: How to find $y$ for given $x$ and the relationship $x = 10^y$ for $x \in \mathbb{R}^+$.

A2: This is equivalent to evaluating $$ y = \log_{10} x $$ and agrees with the comment from fellow user frog. That link to Feynman given by fellow user georg shows how to approximate the logarithm by basic operations and taking roots.

Other numerical methods might look for the root of $f(y) = 10^y - x$ or a fixed point for $g(y) = 10^y + y - x$ or using some power series which converges fast.

0
On

You could expand the exponent into binary, then use the square root operation and multiplication. For example, first write $0.3010$ in binary approximation, for example, $0.3010 \approx 0.0100110100001110_2$. The ones are in positions $2, 5, 6, 8, 13, 14, 15$, so $a^{0.3010} \approx a^{1/4} a^{1/32} a^{1/64} a^{1/8192} a^{1/16384} a^{1/32768}$. This is, in theory, possible to do by hand. (Note that $a^{1/2^{n+1}} = \sqrt{a^{1/2^n}}$.) Add more digits for more accuracy.

Solving for the unknown $x$ in $a^x = c$ when $c$ is given may be done numerically. The most primitive method is probably bisection.