How high is the precision of fixed-point processors for floating-point numbers?

Recently I came into contact with the DSP processor. I have two questions about the fixed-point processor processing floating-point operations. I developed it in C language. A 16-bit processor. Two floating-point numbers are added, subtracted, multiplied, and divided. The accuracy of the results of the fixed-point processor calculations How high is it and how many significant digits can be retained? 
In addition, with regard to two issues related to fixed-point processors, I hope any of you will give his advice:

1. Are processors without FPU all fixed-point processors? For example, the fixed-point numerical signal processor C55XX series, such as 51 single-chip microcomputer, and the Cortex-M3 core processor commonly used in RAM!
2. Is the experience shared by the great gods on the fixed-point processor universal, or is it determined by the compiler?