数组移位问题
怎么理解最后一行?
idc <<= 4;
mtr->IdcBuf[0] = mtr->IdcBuf[1];
mtr->IdcBuf[1] = mtr->IdcBuf[2];
mtr->IdcBuf[2] = (mtr->IdcBuf[0]>>2) + (mtr->IdcBuf[1]>>2) + (idc>>1);
idc <<= 4;
mtr->IdcBuf[0] = mtr->IdcBuf[1];
mtr->IdcBuf[1] = mtr->IdcBuf[2];
mtr->IdcBuf[2] = (mtr->IdcBuf[0]>>2) + (mtr->IdcBuf[1]>>2) + (idc>>1);
右移之后的值相加呗。
移位指的是2进制数往左或者往右移动。
理论上来说 右移一位可以理解为除2 左移一位可以理解为乘2