均匀缩放一个字节的最佳方法是什么?

Jus*_*ner 1 c integer

在CI中需要将范围uint8_t从0到255 缩放到0 - 31

均匀地做到这一点的最佳方法是什么?

Dan*_*ant 12

如果您尝试从8位扩展到5位,则可以进行3位移位;

uint8_t scaled = (uint8_t)(original >> 3);
Run Code Online (Sandbox Code Playgroud)

这会降低低3位.