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));  
}
相关推荐
超级大只老咪14 小时前
一维度前缀和解题通用模板(java)
java·开发语言·算法
无限进步_14 小时前
【C++】重载、重写和重定义的区别详解
c语言·开发语言·c++·ide·windows·git·github
weixin_5134499614 小时前
walk_these_ways项目学习记录第十篇(通过行为多样性 (MoB) 实现地形泛化)--从仿真到部署
人工智能·学习·算法
小欣加油14 小时前
leetcode 42 接雨水
c++·算法·leetcode·职场和发展
tankeven14 小时前
动态规划专题(14):石子合并问题(未完待续)
c++·算法·动态规划
像素猎人14 小时前
大学算法类竞赛的常用模板【自己总结+收录的】【c++版】
数据结构·算法·排序算法·算法竞赛常用算法
码云数智-大飞14 小时前
分布式锁的“双雄对决”:Redis 与 ZooKeeper 的深度博弈与选型指南
算法
cpp_250114 小时前
P1910 L 国的战斗之间谍
数据结构·c++·算法·题解·洛谷·背包dp
yu859395814 小时前
时延估计的互相关算法(MATLAB实现)
开发语言·算法·matlab
逸风尊者14 小时前
2026 主流 Claw 类产品技术报告
人工智能·后端·算法