C++如何将一个数字倒过来
时间: 2024-10-16 16:15:19 浏览: 182
输入一个数,把他颠倒输出,
在C++中,你可以通过多种方式将一个整数或字符串类型的数字倒转。这里我们提供两种常见的方法:
1. 对于整数,可以先将其转换成字符串,然后翻转字符串再转换回来:
```cpp
#include <string>
#include <sstream>
int reverseNumber(int num) {
std::stringstream ss;
ss << num; // 将数字转换为字符串
std::string str = ss.str();
int reversedNum = 0;
for (size_t i = 0; i < str.length(); ++i) {
reversedNum = reversedNum * 10 + str[str.length() - 1 - i] - '0'; // 翻转每一位并加到结果上
}
return reversedNum;
}
```
2. 对于更底层的操作,可以利用位操作直接进行二进制反转:
```cpp
int reverseNumber(int num) {
int reversed = 0;
while (num != 0) {
reversed = (reversed << 1) | (num & 1); // 向左移一位并按位或当前数字的最低位
num >>= 1; // 右移一位
}
return reversed;
}
```
阅读全文