In XBase++, if you specify the precision of a float ("F"), it gives an error message. Floats always seem to be 8 bytes as well. It's just a double.
While a numeric value ("N") is more flexible, it has strict rules about the amount of bytes you need for a specific precision and amount of decimals.
And a binary value ("B") seems to have been a blob, which was different form a memo ("M"), which is a blob that always contains text. Both reside in their own file.
FoxPro first introduced the float ("F"), which we would call a double, and later (Visual FoxPro?), the "B" data type was repurposed as a double (?) and memos could contain blobs as well. Or, that's what I understood.
dBase IV and V, XBase++ and numerous other databases that use variants of DBF files, seem to more or less disagree with the above.