="Tom Rokicki" <rokicki@gmail.com> Why not just interleave digits (bits if base 2)
Specifically, the Moser-de Bruijn sequence, A000695 (a personal fave). For example n/d --> A000695(n) + 2 * A000695(d). Note that any map from pairs to integers can be used to map larger tuples to integers by repeated application. I can't resist mentioning: such bijections can be used as transforms to define interesting "new" arithmetic operations. For example we can define a new "flavor" of integer addition by taking integer arguments, mapping them to rationals, adding the rationals using ordinary rational addition, and then transforming the resulting rational sum back into an integer. This new operation will necessarily inherit all the behavior of the original (such as commutativity, associativity etc) and moreover if you add another related mapped operation, say multiplication, the combined system will necessarily inherit their combined behaviors (such as distributivity).