输入一个整数,计算这个整数各位上数的和c++
时间: 2024-11-15 17:33:46 浏览: 31
在C++中,你可以使用位运算和循环结构来计算一个整数各个位置数字之和。这里是一个简单的示例:
```cpp
#include <iostream>
using namespace std;
int sumOfDigits(int num) {
int sum = 0;
while (num != 0) {
// 取出最低位数字并右移一位(相当于除以10)
int digit = num & 0xF; // 对于32位系统,0xF表示取最后四位
sum += digit;
// 移除最低位
num >>= 4; // 如果是64位系统,可以改用num >>= 5
}
return sum;
}
int main() {
int num;
cout << "请输入一个整数: ";
cin >> num;
cout << "该整数各位上数的和是: " << sumOfDigits(num) << endl;
return 0;
}
```
在这个程序中,`sumOfDigits`函数通过不断将输入的整数`num`与0xF进行按位与操作获取最低位的数字,然后将`num`右移若干位去掉已处理的最低位,直到`num`变为0。期间每次取出的最低位都加到总和`sum`中。
阅读全文