C语言 LSB->MSB,MSB->LSB转换

32位整型数据bit位高低转换

cpp 复制代码
unsigned int reverse(register unsigned int x)
{
	x = (((x & 0xaaaaaaaa) >> 1) | ((x & 0x55555555) << 1));
	x = (((x & 0xcccccccc) >> 2) | ((x & 0x33333333) << 2));
	x = (((x & 0xf0f0f0f0) >> 4) | ((x & 0x0f0f0f0f) << 4));
	x = (((x & 0xff00ff00) >> 8) | ((x & 0x00ff00ff) << 8));
	return((x >> 16) | (x << 16));

}

16位整型数据bit位高低转换

cpp 复制代码
unsigned short reverse(unsigned short x)
{
	x = (((x & 0xaaaa) >> 1) | ((x & 0x5555) << 1));
	x = (((x & 0xcccc) >> 2) | ((x & 0x3333) << 2));
	x = (((x & 0xf0f0) >> 4) | ((x & 0x0f0f) << 4));

	return((x >> 8) | (x << 8));

}

8位整型数据bit位高低转换

cpp 复制代码
uint8_t reverse(uint8_t x)
{
    x = (((x & 0xaa) >> 1) | ((x & 0x55) << 1));  
    x = (((x & 0xcc) >> 2) | ((x & 0x33) << 2));  
    return((x >> 4) | (x << 4));  
}
相关推荐
多则惑少则明3 小时前
java 代码查重(三)常见的距离算法和相似度(相关系数)计算方法
java·算法·常见的距离算法和相似度
项目申报小狂人3 小时前
高性能算法RIME:基于物理的优化的霜冰优化算法
算法
水蓝烟雨3 小时前
[每日一题] 3362. 零数组变换 iii
算法·每日一题
项目申报小狂人3 小时前
完整改进RIME算法,基于修正多项式微分学习算子Rime-ice增长优化器,完整MATLAB代码获取
学习·算法·matlab
Cherl.3 小时前
探索数据结构的时间与空间复杂度:编程世界的效率密码
c语言·数据结构·算法·时间复杂度·空间复杂度
Yu_Mao_Cat3 小时前
数独求解器3.0 增加latex格式读取
开发语言·python·算法
ElvInR4 小时前
冒泡排序详解
c语言·c++·排序算法·冒泡排序
爱coding的橙子5 小时前
每日算法刷题计划day13 5.22:leetcode不定长滑动窗口最短/最小1道题+求子数组个数越长越合法2道题,用时1h
算法·leetcode·职场和发展
编程绿豆侠5 小时前
力扣HOT100之二叉树: 437. 路径总和 III
算法·leetcode·哈希算法