将下列十进制整数转换成八进制和十六进制 10 32 2483 -617 21003 -111
时间: 2023-04-09 14:01:21 浏览: 98
10的八进制为12,十六进制为A
32的八进制为40,十六进制为20
2483的八进制为4663,十六进制为9B3
-617的八进制为77777776601,十六进制为FFFFFDA7
21003的八进制为51247,十六进制为5207
-111的八进制为77777777651,十六进制为FFFFFF91
相关问题
将下列十进制整数转换成八进制和十六进制 10 32 2483 -617 21003 -111
10的八进制为12,十六进制为A;
32的八进制为40,十六进制为20;
2483的八进制为4663,十六进制为9B3;
-617的八进制为77777776601,十六进制为FFFFFDA7;
21003的八进制为51247,十六进制为5207;
-111的八进制为77777777651,十六进制为FFFFFF91。
利用栈实现将十进制整数转换成二、八、十六进制数。 程序如下
:抱歉,我可以回答您的问题。以下是利用栈实现将十进制整数转换为二进制、八进制、十六进制的程序示例:
```
#include <iostream>
#include <stack>
using namespace std;
// 将十进制整数 num 转换为 base 进制数
void convert(int num, int base) {
stack<int> s;
while (num != 0) {
s.push(num % base);
num /= base;
}
while (!s.empty()) {
int remainder = s.top();
s.pop();
if (remainder < 10) {
cout << remainder;
} else {
char ch = 'A' + remainder - 10;
cout << ch;
}
}
cout << endl;
}
int main() {
int num;
cout << "请输入一个十进制整数:";
cin >> num;
cout << "该数的二进制表示:";
convert(num, 2);
cout << "该数的八进制表示:";
convert(num, 8);
cout << "该数的十六进制表示:";
convert(num, 16);
return 0;
}
```
该程序使用了一个栈来存储转换后的进制数,先将十进制整数不断除 base 取余数并压栈,然后再依次弹出栈中元素得到转换后的 base 进制数。其中如果余数小于 10 则直接输出,否则将十六进制中的 A~F 转换为字符后输出。