十进制数转换为八进制数/十六进制数

来源:互联网 发布:淘宝买电器靠谱吗 编辑:程序博客网 时间:2024/04/27 09:48

十进制转换为其他进制有一个基本公式:N = (N div d)*d + N mod d(其中:div 是整除,mod 为求余,N 是十进制数,d 是要目标进制)。

例如:(1348)10 = (2504)8,运算过程如下:

NN div 8N mod 8134816841682102125202

余数的逆序就是转换的结果。

十进制转换为八进制代码如下:

#include <iostream>#include <string>#include <stack>using std::cin;using std::endl;using std::cout;using std::string;using std::stack;//十进制转换为 8 进制void conversionDtoO(int n){stack<int> result;while (n){result.push(n%8); //余数入栈n = n / 8;}while (!result.empty()){cout << result.top();result.pop();}cout << endl;}int main(){int s;while (cin>>s){conversionDtoO(s);}return 0;}
十进制转换为十六进制同样的道理,将 8 换为 16 即可。

0 0
原创粉丝点击