• 进制转换


    进制转换

    写出一个程序,接受一个十六进制的数,输出该数值的十进制表示。(多组同时输入 )

    输入描述:

    输入一个十六进制的数值字符串。

    输出描述:

    输出该数值的十进制字符串。

    示例:

    //输入
    0xA
    //输出
    10

    解答

    方式一:

    直接使用hex接收十六进制

    #include <iostream>
    using namespace std;
    
    int main(){
        int a;
        while ((cin >> hex >> a))//十六进制输入0xa
        {
            cout << a << endl;//十进制输出a
        }
       return 0;
    }

    方式二:

    使用字符串类型接收

    #include<iostream>
    #include<string>
    using namespace std;
    
    int main() {
        string str;
        while (getline(cin, str)) {
            if (str.length() <= 0){
                break;
            }
            long num = 0; int index = 16;
            for (int i = 2; i < str.length(); ++i){
                if (str[i] >= '0' && str[i] <= '9'){
                    num = num * 16 + (str[i] - '0');//str[i]本身是char,转化成int才能加法,与‘0’的距离就是int
                }
                else
                    num = num * 16 + (str[i] - 'A' + 10);//乘16因为,向后移动一个字符就代表增长一个16进制数量级
            }
            cout << num << endl;
        }
        return 0;
    }

     C++11

  • 相关阅读:
    js上移、下移排序 效果
    如何为平板打造完美的网站页面?
    [BUUOJ]刮开有奖reverse
    [0CTF 2016]piapiapia
    [TSCTFJ 2019]bypass
    [安洵杯 2019]easy_serialize_php
    [TSCTFJ] relax
    c#访问网页
    DNN 数据访问
    c#访问数据库
  • 原文地址:https://www.cnblogs.com/chongjz/p/12551410.html
Copyright © 2020-2023  润新知