Quoted from the ebook Introduction to Microcontroller by Gunther Gridling (pg. 43):
The class width of most classes corresponds to 1 lsb, with the exceptions of the first class (0.5 lsb) and the last class (1.5 lsb). This asymmetry stems from the requirement that the representative of the code word 0 should correspond to 0 V, so the first class has only half the width of the other classes, whereas the representative of the code word 2r − 1 should be Vref − 1 lsb to allow easy and compatible expansion to more bits. To avoid the asymmetry, we could for example use the lower bound of the class as its representative. But in this case, the worst case error made by digitization would be +1 lsb. If we use the midpoint, it is only ± 0.5 lsb
I understand that lowering Vref or using a higher bit ADC can increase the resolution of conversion or make each quantized step of 1 lsb smaller to associate with more digital/binary states. Each lsb or level is named a "class" (I don't understand why there are multiple terms to represent the same abstraction).
But why is there a 0.5 lsb or 1.5 lsb class? There is no binary state between 000 and 001 to associate with 0.5 lsb, and the digital output signal can only be integral value of lsb. So why is it there and what does it mean? If there is a 0.5 lsb class/level at the start and another 1.5 lsb class/level at the end, does that make "this" symmetric instead of of asymmetric?