而不是写“/ 6”,我应该写什么才能摆脱除法运算符?
int a ;
c = a / 6 ;
如果您对该主题有更多了解,可以在b!= 2的倍数时给我一般算法吗?
前:
b = 1,3,5,6,7,9,10等
答案 0 :(得分:1)
嗯,移位和减法(将/
替换为>>
和可选-
的一般形式,常见于2次幂除数)是除法运算是int
,所以我不确定你应该如何消除它。如果他们说用模数(%
)代替它,我会觉得很难认真对待。对于float
或double
,你可以尝试乘以倒数(将除法移动到编译时而不是运行时),只要你没有失去太多的精度,那就是不使用定点表示而对整数类型更棘手。