Google: Jones on reciprocal multiplication
We all know or should know from elementary school that dividing by n is the same as multiplying by 1/n. We also learned how to use decimal places. And other manipulations, so multiplying by 1.234 is the same as multiplying by 1234 then dividing by 1000 later or not and just knowing that your result is 1000 to big. Like thinking in pennies instead of dollars 12.34 dollars is 1234 pennies. 6 hours is 360 minutes, etc.
Long division in binary is trivial compared to grade school. For each digit as you move along there can either be exactly zero or exactly one time the divisor fits into the pulled down numerator. Basically for 1/6th you end up with 0.001010101010...in binary.
So if I want 1234/6 I could do 1234*0x2AAA = 0xCDA774. the integer/fixed point answer is 205 which is 0xCD so that makes sense 0x2AAA is (1/6)65536 so (X((1/6)*65536))/65536 = X/6 or (X*0x2AAA)>>16 is approx X/6.
Now what about rounding? 1234/6 is actually 205 and 2/3rds so what if you wanted to round up. Well rounding means you take the number after the cutoff and if that is at or above half you round right? well 10101010 the digit after the cutoff is a 1, 1/2 is at or above half so why not use 0x2AAB?
Also we know that 6 = 2*3. The two comes out of the number easy with a shift so you could do (N/3)/2 or (N/2)/3. And a 1/3 is 0.01010101... binary where 1/6 was 0.001010101...
So this should all lead to a rough idea how you can multiply to divide and a rough idea where the 0xAB they multiplied against may have come from. but other elementary math identities are likely in there as well.
Note you dont have to do the hand binary division, 0x10000/6 = 0x2AAA on your calculator. X/6 = (X*0X10000)/(6*0X10000) = (X/0X10000)(0X10000/6) = (X(0X10000/6))/0X10000. And then you just have to account for accuracy/rounding when trying to use this fixed point. Sometimes 16 bits isnt enough you need 24 or 32 or who knows...depends on the divisor.