左移与除法在做负数处理时,并不一定是完全等价啊,且看下述程序。
int idx_a = 0;
for(idx_a= 0;idx_a>-20;idx_a--)
printf("div = %d shift = %d shift_a = %d \n",idx_a/2,idx_a>>1,(idx_a+1)>>1);
左移与除法在做负数处理时,并不一定是完全等价啊,且看下述程序。
int idx_a = 0;
for(idx_a= 0;idx_a>-20;idx_a--)
printf("div = %d shift = %d shift_a = %d \n",idx_a/2,idx_a>>1,(idx_a+1)>>1);