码迷,mamicode.com
首页 > 其他好文 > 详细

进制的转换 以及十进制转换成x进制的代码

时间:2019-12-17 20:36:57      阅读:65      评论:0      收藏:0      [点我收藏+]

标签:size   表示   style   ++   代码   转换   空间   类型   push   

2进制的思路,满21    那么x进制就是满x1

对于非二进制数   1221;  如果他是3进制数 那么他的   十进制表示的数字就为,3^0*1+3^1*2+3^2*2+3^3*1 = 1+6+18+27 = 52;

#include<iostream>

using namespace std;

#define MAXSIZE 100
typedef int ElemType;

typedef struct { //顺序栈的数据类型
ElemType *base;
ElemType *top;
int stacksize;
}Stack;

int Init(Stack &S) { //初始化栈
S.base = new ElemType[MAXSIZE];
if (!S.base) exit(-2);
S.top = S.base;
S.stacksize = MAXSIZE;
return 1;
}

int Push(Stack &S, ElemType x) {//入栈
if (S.top - S.base == S.stacksize) {
cout << "栈空间已满!";
return 0;
}
*S.top++ = x;
return 1;
}

int Pop(Stack &S, ElemType &e) {//全部元素出栈
if (S.base == S.top)return 0;
e = *--S.top;
return 1;
}

int main() {
Stack A;
ElemType e;
int x, k;
Init(A); //初始化栈
cout << "请输入10进制数:";
cin >> x;
cout << "目标进制:";
cin >> k;
while (x) {
Push(A, x%k);
x = x / k;
}
cout << k << "进制数:"; //将栈中元素依次出栈,并输出
while (Pop(A, e)) {
cout << e;
}
system("pause");

}

 

代码转自网上

进制的转换 以及十进制转换成x进制的代码

标签:size   表示   style   ++   代码   转换   空间   类型   push   

原文地址:https://www.cnblogs.com/thy95/p/12056308.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!