При использовании 16 бит или 8 бит кодируются не уровни RGB, а индексы в палитре цветов. А уже в этой палитре задаются значения RGB для 256 (8 бит) или 65536 (16 бит) используемых цветов.
24 бита - это и есть три байта: прямое кодирование RGB.
32 бита используется в двух вариантах:
- Дополнительный байт используется для канала прозрачности. Так устроен, например, PNG с прозрачностью.
- 30 бит из 32 используются для кодирования 10 бит на цветовой канал: уровни 0-1023. Ты ошибаешься, что всегда байт на цвет: современные видеокарты и мониторы (некоторые) умеют 10 бит на цвет.