适用于int和float类型的两个变量之间相互交换
#define SWAP(a, b) do { \
*((unsigned*)&a) = *((unsigned*)&a) ^ *((unsigned*)&b); \
*((unsigned*)&b) = *((unsigned*)&a) ^ *((unsigned*)&b); \
*((unsigned*)&a) = *((unsigned*)&a) ^ *((unsigned*)&b); \
} while(0)
这篇博客介绍了如何使用位操作快速地在C语言中交换两个int或float类型的变量值,无需引入额外的临时变量。提供的宏定义SWAP通过位运算实现了a和b值的原子互换,适用于效率要求高的场景。
1万+

被折叠的 条评论
为什么被折叠?



