http://cacr.uwaterloo.ca/hac/about/chap14.pdf#page=9 gives the following as a division algorithm:

So step 1 is making it so that $yb^{n-t}$ is the same length as x and then step 2 loops until the condition is met.
The thing is... it seems to me that if you're operating in a really high base and x's most significant digit (n'th, since they're indexing backwards) is, say, 99999999999, and $yb^{n-t}$'s most significant digit is 1 then you could be in that loop for a really long time.
Surely this is not the case? For an algorithm that's supposed to be fast it seems to me that doing something like that would slow it down quite a bit.
Seems like it'd be faster if you did $x{\leftarrow}x-{\lfloor}x_{n}/(yb^{n-t}+1)_{n}{\rfloor}*yb^{n-t}$ first. ie. see how many times the most significant digit of $yb^{n-t}$ can divide into the most significant digit of x after 1 has been added to it, then multiply $yb^{n-t}$ by that amount and subtract that from x. Although if that is a valid speedup one has to wonder why the book didn't mention it.
And in any event there could still be a non-trivial amount of looping, even with that. ie. if the first digit of $yb^{n-t}$ is 1 and the first digit of x is a really huge number, doing x / 2 would still leave you needing to subtract half.
Better check out the algorithms in Knuth's "Seminumerical Algorithms," there you will find a detailed, thorough discussion. In any case, there are excellent libraries for big integers, like GMP. Don't write your own (or blindly believe your cryptography author), if you look at the GMP site, the algorithms used are quite a bit more complicated than the ones in textbooks as more cases have to be considered for varying combinations of sizes of the operands.