Explanation : Binary code: (b7b6b5b4b3 ⋅ b2b1b0)2
(31.5)10 = (11111.1)2
(0.875)10 = (0.111)2
(12.100)10 = (01100.000110.....)2
↓
Only 3 bits of fraction
space available
So can't be stored.
(3.001)10 = (00011.000000..........)2
It is also not accurate storage.