移位操作之旋转移位
Posted clnchanpin
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了移位操作之旋转移位相关的知识,希望对你有一定的参考价值。
所谓旋转就是一端的位数移出字长后又插入到还有一端中
unsigned char RoL(unsigned char c,int b) { int tmp; for(int i=0;i<b;++i) { if(c & 0x80) { tmp=1; } else { tmp=0; } c <<= 1; c |= tmp; } return c; } unsigned char RoR(unsigned char c,int b) { int tmp; for(int i=0;i<b;++i) { if(c & 1) { tmp=1; } else { tmp=0; } c >>= 1; c |= (tmp << (sizeof(c)*8-1)); } return c; } void main() { unsigned char a=5; int b=RoL(a,2); //10100 int c=RoR(a,2); //01000001 00000101 }
以上是关于移位操作之旋转移位的主要内容,如果未能解决你的问题,请参考以下文章
带有中心裁剪的 Keras ImageDataGenerator 用于旋转和平移移位
Arcgis应用栅格数据翻转(Flip)镜像(Mirror)重缩放(Rescale)旋转(Rotate)移位(Shift)弯曲(Warp)