我正在用 C 进行编码,我知道可以存储在uint8_t0 到 255 范围内的值。我想存储一个 的百分比值MAX_INTENSITY,声明为:
#define MAX_INTENSITY 200
我可以执行以下操作吗:
uint8_t my_intensity = (MAX_INTENSITY * percentage) / 100;?
结果将是200 或更小,但在计算过程中,中间结果可以优于255,例如percentage = 50,MAX_INTENSITY * percentage= 10'000。即使最终结果是 100, o 在 a 范围内,这会导致问题吗uint8_t?