Tag: 倍增

在C中使用移位运算符的乘法和除法实际上更快?

例如,乘法和除法可以使用位操作符来实现 i*2 = i<<1 i*3 = (i<<1) + i; i*10 = (i<<3) + (i<<1) 等等。 使用say (i<<3)+(i<<1)乘以10比直接使用i*10快吗? 有什么样的input不能以这种方式相乘或分割吗?