面试题答案
一键面试#include <iostream>
int swapBits(int num) {
// 获取第3位和第5位的值
int bit3 = (num >> 3) & 1;
int bit5 = (num >> 5) & 1;
// 清除第3位和第5位
num &= ~(1 << 3);
num &= ~(1 << 5);
// 交换后设置新的第3位和第5位
num |= (bit5 << 3);
num |= (bit3 << 5);
return num;
}
你可以使用以下方式调用这个函数:
int main() {
int input = 10;
int result = swapBits(input);
std::cout << "交换前: " << input << " (二进制: " << std::bitset<8>(input) << ")" << std::endl;
std::cout << "交换后: " << result << " (二进制: " << std::bitset<8>(result) << ")" << std::endl;
return 0;
}