For digital audio (unlike just about everythig else) there is a hard and fast rule for the definition of "0dBFS"
dBFS
When digital audio emerged, it needed its own dB system, which brought the need to choose a reference. But there was a problem:
Digital audio can be 8 bits (sample values from 0 to 255) or 16 bit (0..65535) or 24 bit (0..16777216).
It seems like the common thing in all these bit depths is the zero, but we can't use it as a reference as we'll get:
dBFS = 20log(m / 0)
While this is sufficient to rule out 0 as a reference, there is another fact to consider: We know that during ADC a higher bit depth extends the dynamic range downwards not upwards. In other words, the loudest analog voltage an ADC supports always translates to the highest value the bits can represent. If the analog limit is 1V, in an 8 bit system it will get a sample value of 255, but in a 16 bit system it will get 65535.
This make the choice rather obvious - the reference for dBFS should be the highest sample value of the system bit depth. So:
dBFS = 20log(sample value / highest possible sample value)
Now in logs, if the numerator is smaller that the denominator, you always get a negative result; if the two are equal, you get 0. So in the case of 16 bits:
0dB = 20log(65535 / 65535)
and
-6dB = 20log(32768 / 65535).
Since the sample value can never exceed the highest sample value, dBFS values are always equal to, or smaller than 0.
From this article/blog/forum whatever. Lots of fun reading...
gain - What is 0 dB in digital audio? - Sound Design Stack Exchange