Tag: 平均数

取C中两个有符号数的平均值

让我们说我们有x和y,两者都是C中的有符号整数,我们如何找到两者之间最准确的平均值? 我更喜欢一种不利用任何机器/编译器/工具链特定工作的解决方案。 我提出的最好的是: (a / 2) + (b / 2) + !!(a % 2) * !!(b %2)是否有更准确的解决方案? 快点? 更简单? 如果我们知道一个是否比其他先验大? 谢谢。 d 编者注 :请注意,当输入值接近C int类型的最大绝对边界时,OP期望答案不受整数溢出的影响。 这在原始问题中没有说明,但在给出答案时很重要。