Question on Mining Profitability

So I found this question: How much Bitcoin will I mine right now with hardware X?

I'm interested in understanding what exactly are the following values: 65535 and 2^48. I know that the former is concerned with 16 bits? And if that is correct, then for the unsigned integer of 16 bit size, you can express 2^16 - 1 values (i.e. we do not count zero), so you get 65535. I do not understand why we plug it into this equation though:

(H*B/D) * (60*60*24 * 65535 * 10^6 / 2^48)
= (H*B/D) * (5.662224e15 / 2^48)              BTC per day (1)

But I also know that D*((2^48)/65535) is the number of hashes (in Mhash) that you have to solve to find a block.

So the equation that I gave you, I can understand that 60*60*24 is number of seconds in a day. Let's denote it as S. Then:

(H*B/D) * (S * 10^6 * (65535 / 2^48))

So I assume, 10^6 is some kind of hash to Mhash modifier (and that makes sense because 65535/2^48 is inversed, so we have to multiply and not divide).

So my question is, what is 65535 and 2^48. And then what is 2^48/65535 and what is 65535/2^48. Please be technical, but clear. Thank you.

EDIT:

From here: https://arxiv.org/pdf/1112.4980v1.pdf, I understand that 1/(2^32 * D) is the probability of finding a correct hash, or more precisely: (2^16 - 1)/(2^48 * D). They once again, do not tell us what those numbers are though

EDIT EDIT:

Number 16 must either deal with the fact that you require 16 leading zeros in block hash that you are looking for, or the fact that you have 16 hexadecimal values (0,1,2..,9,a,b,c,d,e,f). It probably deals with former because we have 2^16, which feels like it is binary state 16 times. Another reason why its trailing zeros is because hash has 64 values, and we have another number 2^48. And you get to 48 by deducting 16. So you have: total number of binary permutations in the numerator minus one (for length 16 bits) divided by total number of binary permutations of length 48 bits.. hmmm