小弟我也来个愚的有关问题

我也来个愚的问题static void update_avg(u64 *avg, u64 sample){s64 diff sample - *avg*avg + diff

我也来个愚的问题
static void update_avg(u64 *avg, u64 sample)
{
s64 diff = sample - *avg;
*avg += diff >> 3;
}

*avg += diff >> 3;为什么呢??


[解决办法]
什么为什么, 楼主说清楚噻
[解决办法]

探讨

diff >> 3
为什么要右移动3位??