c++ 把一个整数由高位到低位依次输出
时间: 2024-11-23 08:38:30 浏览: 11
递归实现十进制数从高位到低位依次输出
4星 · 用户满意度95%
在C++中,如果你想把一个整数按照从高位到低位的顺序逐位打印出来,你可以通过位运算来实现。这里提供一种常见的方法,称为“除权取余法”(也叫“按位右移”),结合循环操作:
```cpp
#include <iostream>
void printNumber(int num) {
while (num != 0) {
// 取出最低位并转换为字符
char digit = static_cast<char>(num & 0xff); // 对于8位有符号整型,使用&0xff
std::cout << digit;
// 移除最低位
num >>= 8; // 对于8位有符号整型,每次右移一位相当于除以2^8
// 或者 num /= 256;
}
}
int main() {
int input = 1234567890; // 需要打印的整数
printNumber(input);
return 0;
}
```
这个程序会将输入的`input`整数从高位到低位依次打印出来。每一轮循环都会取出最低的一位数字,并将其添加到结果中,然后将剩余部分右移一位。如果需要处理无符号整型或其他位宽,只需要相应地调整位掩码。
阅读全文