27/64, 0x1B shifted right 6 times.
areyouawizard.png
LOL, nah.
In decimal if you want to divide by 10 you shift the number one to the right, divide by 1000 then 3 to the right because:
10^0=1
10^1=10
10^2=100
10^3=1000
so 234,667/10,000 = 23.4667 right?
Same thing with binary
2^0=1
2^1=2
2^2=4
2^3=8
2^4=16
2^5=32
2^6=64
...
so what is 0x43bc2a in binary 0100 0011 1011 1100 0010 1010 divided by 64 shift it 6 times to the right
0100 0011 1011 1100 00(.)10 1010 or 0x010ef0 integral part and 0xa8 for the fractional part.
Same math that applies to decimal applies to binary. and since imperial fractions are 1/2 1/4 1/8 1/16 1/32 etc.. it translates very nicely to fix point or floating point for that matter.
so on floating point where the mantissa has a binary (1.) implied
the mantissa of 0100 0011 1011 1100 00(.)10 1010 will be
(01.)0000111011110000(.)101010 x 2^16 (because the period is 16 digits to the right so
0000 1110 1111 0000 1010 1000
the exponent 16 (0x10 hex) add that to the bias (127 or 0x7F in hex) of IEEE floating point representation so 143 decimal 0x8F hex and 0 for the sign and you have your float.
s exp mantissa
0 | 1000 1111 | 0000 1110 1111 0000 1010 100
organize it right and convert to hex
0100 0111 1000 0111 0111 1000 0101 0100
0x47877854, that should represent 69360.65625 which is the answer of 0x43bc2a divided by 64.
So it's base 2 divisions are simple to do and they store nicely in your system, Imperial wins
I kid, I like both, and I can use either, but for tooling using based 2 fractions wins. Since binary can't divide by 5 without error. So our tool fractional sizes as odd as they seem actually have an advantage as far as computers go.