2
$\begingroup$

$x \in \mathbb{R}$

$2^{500}

How many significant figures are needed in base 2, to know in high approximation whether $2^x$ is integer?

  • 0
    @Geoff: the questions are very similar, but I think we have the better answer here right now. I am not sure if we need to migrate. But if you feel the need, I would prefer if you migrate it if this one is the main one.2012-04-25

2 Answers 2

5

Basically you want to estimate the $\delta$ such that $2^{x+\delta} - 2^x = 1$. This means $2^\delta = 1+\dfrac{1}{2^x}$, so that $\delta$ might be estimated as $\dfrac{1}{2^x \times \ln2}$, or, taking the upper bound for $x$, $\delta$ might be estimated as $\dfrac{1}{2^{501} \times \ln2}$.

The number of required significant digits (after the decimal point) is about $-\log_{10}\delta = \log_{10}(2^{501}) + \log_{10}\ln2$, which is about 151, plus-minus a digit. Or, if you're working in base 2, the number of required significant digits is about $-\log_{2}\delta = \log_{2}(2^{501}) + \log_{2}\ln2$, which is about 502.

Given such a number of digits after the decimal point, changing the remaining digits won't change $2^x$ by more than $1$, so that, if $2^x$ is an integer, you can say what integer it is.

However, it is impossible to tell for sure whether $2^x$ is an integer, given only its rounded value, independent of the accuracy, as adding a small value beyond the accuracy limits to $x$ will turn $2^x$ from integer to non-integer and vice versa.

  • 0
    @penartur: the upper bound for $x$ should equal $2^{501}$, not $501$2012-04-21
-1

For $2^x$ to be an integer where x has a finite decimal representation, x must also be an integer. Am I missing something here?

  • 0
    Ok I edited it accordingly.2012-04-18