Consider that you look for the zero of function
$$f(x)=2^x-(2^a - 2^b) \qquad \text{with}\qquad a > b$$ Write it better as
$$g(x)=x\log(2)-\log(2^a - 2^b)=x\log(2)-a\log(2)-\log(1-\epsilon)$$ with $\color{red}{\epsilon=2^{b-a}}$. This gives
$$x=a+\frac{\log (1-\epsilon )}{\log (2)}\sim a-\frac{2^{b-a}}{\log (2)}$$
For $a=7$ and $b=5$, this gives $x=6.63933$ while the solution is $6.58496$.
Make it better using Taylor series which will write
$$x=a-\frac{1}{\log (2)}\sum_{n=1}^\infty \frac {\epsilon^n} n$$
For the above example, using $p$ terms in the summation
$$\left(
\begin{array}{cc}
p & x_{(p)} \\
1 & 6.63933 \\
2 & 6.59424 \\
3 & 6.58673 \\
4 & 6.58532 \\
5 & 6.58504 \\
\end{array}
\right)$$
and you will need less and less terms to add when $(a-b)$ will be larger and larger.
You can even make it better if, instead of Taylor series, you use the $[n+1,n]$ Padé approximant $P_n$ of $\log (1-\epsilon )$.
For example
$$P_2=-\frac{\epsilon \left(\epsilon ^2-21 \epsilon +30\right)}{9
\epsilon ^2-36 \epsilon +30}$$ whose error is $\frac{\epsilon ^6}{600}$ would give $x=6.58496$ (which is the solution).