zoukankan      html  css  js  c++  java
  • 进制的转换 以及十进制转换成x进制的代码

    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");

    }

    代码转自网上

  • 相关阅读:
    第二阶段冲刺01
    第十三周进度总结
    单词统计续
    sys模块
    os模块
    random模块
    datetime模块
    time模块
    模块基础
    内置函数
  • 原文地址:https://www.cnblogs.com/thy95/p/12056308.html
Copyright © 2011-2022 走看看