Advertisement

C/C++进行循环左移和右移

阅读量:

目录

循环移位可直接调用的函数(循环右移、循环左移)

完整代码

目录

循环移位可直接调用的函数(循环右移、循环左移)

完整代码

本文中提及的实用技巧

需特别留意的事项


本文中提及的实用技巧


达成对无符号数值进行循环左移与循环右移的操作

循环移位直接可用的函数(循环右移、循环左移)

//val表示需要进行移位操作的数值,n表示移位的位数
//字节数乘以8用于计算总的位数
//实现向右循环移n位的方法:假设数据总共有size位,先将数据向左移size-n位,再将该结果与原数值右移n位后的结果进行或运算

复制代码
 //val表示需要移位的数 n表示移位位数

    
 //字节数乘以8代表一共多少位
    
 //向右循环移n位的结果:假设数据一共size位,向左移size-n位,再与原数右移n位进行或操作的结果
    
 uint32 bit_move(uint32 val, int n) {
    
 	uint32 size = sizeof(val) * 8;
    
 	n = n % size;
    
 	//return (val >> (size - n) | (val << n));//左移
    
 	return (val << (si

全部评论 (0)

还没有任何评论哟~