zoukankan      html  css  js  c++  java
  • 进制转换

    进制转换

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

    输入描述:

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

    输出描述:

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

    示例:

    //输入
    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

  • 相关阅读:
    mac-常用命令
    react-redux-数据流
    ##通讯录阶段重要代码
    ##DAY15——UICollectionView
    ##DAY14——StoryBoard
    通讯录——单例
    通讯录——选择图片
    ##DAY13——可视化编程之XIB
    ##DAY12 UITableViewCell自定义
    ##DAY10 UITableView基础
  • 原文地址:https://www.cnblogs.com/chongjz/p/12551410.html
Copyright © 2011-2022 走看看