c++进制转换(std和顺序栈法)

1.顺序栈,比较有意思,顺序栈的代码网上到处都是,不放出来了,用法贴下

    string s;
    cin >> s;

    //将16进制转换成10进制
    int ten_value=HexToTen(s);
    //cout << ten_value<<endl;


    //将10进制转换成8进制=============顺序栈法
    //先构造栈
    SeqStack<int>stack;

    //压入栈
    while (ten_value)
    {
        stack.Push(ten_value % 8);
        ten_value = ten_value / 8;
    }


    while (!stack.Empty())
    {
        int result_value = 0;
        result_value=stack.Pop();
        cout << result_value;
    }
    cout << endl;
    system("pause");
    return 0;

 

2.std的stringstream

    string str;
    getline(cin, str);


    //十六进制转十进制
    int value;
    string hex_test = str;

    stringstream ss1;
    ss1.str(hex_test);
    ss1 >> hex >> value;


    //十进制转八进制
    stringstream ss;
    //十进制转八进制
    ss << oct << value;
    cout <<ss.str() << endl;

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值