I think I get the gist of it, but let me try this. My thoughts don't involve float.
I'm going to scale some things for low encoders.
On my SAGAR robot, i'm concerned about two things, maintaining a certain speed and recording how far i've traveled. The resolution of distance traveled can be as good as the distance traveled by my wheel in-between encoder clicks. Let's say i get 8 encoder clicks per wheel rotation. So that's as good as I can get for distance traveled resolution.
However, the problem is my PID controller trying to maintain a certain speed needs a good input resolution. at only 8 click per rotation and speeds of 1 rev/second, thats a horrible input for any PID controller. If the PID frequency is 2Hz, that means it's somewhere between 0-4 clicks of resolution (~3 bits) to work with. However, if the input of the PID was the time of a click duration, it would be as good resolution as the timer used. So now I can get 8 bit (or 16 bit depending on the timer) resolution to give my PID controller and have a variable PID controller rate up to 8 Hz at full speed.
This would work well for maintaining speed using a low count encoder.