Binary search is the well-known algorithm that compares the input value to an entry in a sorted array, and based on the result then decides to check the same input value against another entry either on the left or the right of that array entry. The number of comparisons needed is O(log(n)), but we can specify the number more exactly as $\log_2(n) + O(1)$
In "Unbounded binary search", There is a secret, positive, whole number, without any information on its upper bound (or the number of bits). Our task is to find the value of the secret number in as few comparisons as possible, where "few" is measured as a function in the value of that secret number.
In each comparison, we get to decide on a number and that number will be compared to the secret number by a black box. The black box then outputs True if the picked number is strictly larger than the secret number, and False otherwise. The cost of calling the black box is 1, regardless of the values involved. We can make all other calculations for free, as long as they don't involve the black box.
A straightforward algorithm starts with 1 and doubles it until the black box outputs True, and then with the found upper bound performs a binary search. This takes $2\log_2(n) + O(1)$ comparisons, or $\log_2(n) + f(n)$, where $f(n) = O(\log(n))$. We say that the number of extra comparisons is "$O(\log(n))$". Quicker algorithms are supposedly possible.
What's the quickest algorithm, that gives the lowest number of extra comparisons needed (for large enough n) versus if we knew the number of bits of the secret number?