在linux kernel的源代码中有用到int_to_frac()和frac_to_int()函数,如下所示
#define FRAC_BITS 10
#define int_to_frac(x) ((x) << FRAC_BITS)
#define frac_to_int(x) ((x) >> FRAC_BITS)
由代码可看出,作用是将x左/右移10个bit,即乘以1024(2^10)或除以1024。
那么,这种运算的实际意义是什么?仅仅是把数字变大或缩小吗?
另外,这个frac指的是哪个英文单词?fraction?
以上疑问,有没有大佬帮忙解答一下,谢谢。