[编程题-华为]进制转换

[编程题] 进制转换

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

输入描述:

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

输出描述:

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

输入例子:
0xA
输出例子:
10
#include<iostream>
#include<string>
using namespace std;
int toDigit(char c)
{
    if(c>=‘a‘ && c<=‘f‘)
        return c-‘a‘+10;
    else if(c>=‘A‘ && c<=‘F‘)
        return c-‘A‘+10;
    else
        return c-‘0‘;

}
int main()
{
    string s;
    while(cin>>s)
    {
        int n=s.size();
        int x=0;
        for(int i=2;i<n;i++)
            x=x*16+toDigit(s[i]);
        cout<<x<<endl;
    }
    return 0;
}
时间: 2024-08-25 19:02:43

[编程题-华为]进制转换的相关文章

CSDN编程挑战——《进制转换》

进制转换 题目详情: 我们通常用的十进制数包含0-9十个数字.假设有一种进制系统包含3种数字,从低到高分别为"oF8",那么从1到9分别表示为F, 8, Fo, FF, F8, 8o, 8F, 88, Foo, FoF.给定一种进制的数和两种进制的数字表,请把它从第一种进制转换为第二种进制. 输入格式: 第一行是T表示测测试数据组数.(0<T<=200). 以后T行,每行有3个部分: number number_table1 number_table2 其中number_t

HDU 4432 Sum of divisors (水题,进制转换)

题意:给定 n,m,把 n 的所有因数转 m 进制,再把各都平方,求和. 析:按它的要求做就好,注意的是,是因数,不可能有重复的...比如4的因数只有一个2,还有就是输出10进制以上的,要用AB.. 但我用的是ab..又没读好题....活该WA了好几次. 代码如下: #pragma comment(linker, "/STACK:1024000000,1024000000") #include <cstdio> #include <string> #includ

NOIP2000 进制转换

题一   进制转换              (18分)  问题描述      我们可以用这样的方式来表示一个十进制数: 将每个阿拉伯数字乘以一个以该数字所处位置的(值减1)为指数,以10为底数的幂之和的形式.例如:123可表示为 1*102+2*101+3*100这样的形式. 与之相似的,对二进制数来说,也可表示成每个二进制数码乘以一个以该数字所处位置的(值-1)为指数,以2为底数的幂之和的形式.一般说来,任何一个正整数R或一个负整数-R都可以被选来作为一个数制系统的基数.如果是以R或-R为基

编程算法基础-2.3进制转换

2.3进制转换 使用int存一个整数时.内存中是用二进制存储的,当要显示的时候.用十进制显示. 随意进制间的转换 n进制转m进制 String s = "2001201102" 3进制转换为5进制 先转换为2进制.再转换为5进制 /* 随意进制间的转换 n进制转m进制 String s = "2001201102" 3进制转换为5进制 先转换为10进制,再转换为5进制 */ package BinaryTrans; public class NToM { publi

poj1220:高精度进制转换模板题

今天撸3708  一直奇怪的re 就先放下了,写这个题的过程中学习了一个高精度进制转换,用这个模板写了1220 记录一下: #include <iostream> #include <stdio.h> #include<string.h> #include<algorithm> #include<string> #include<ctype.h> using namespace std; #define MAXN 10000 char

华为笔试——C++进制转换

题目:2-62进制转换 题目介绍:输入一个n1 进制的整数(包括负数),将其转换成n2 进制,其中n1 .n2 的范围是 [ 2,62 ] .每个数字的范围是0-9.a-z.A-Z.不用考虑非法输入. 输入: n1 n2 n1 进制整数 输出: n2 进制整数 例: 输入: 8 16 -1352460 输出: -5d530 分析: 这道题目需要考虑几点:负整数的输入:将输入的n1 进制的数转换成10 进制的数,再用长除法将这个10 进制的数转换成 n2 进制的数:a-z和A-Z与其代表的整数的相

shell 编程进制转换

shell脚本在处理数据的时候,默认是10进制,通过特殊的标记或者前缀可以转换为其他的进制. 以 0 开头就是 8 进制.以0x 开头就是16 进制数. 1. 使用 BASE#NUMBER 这种形式可以表示其它进制.BASE值的取值范围:2-64. 2. 赋值时候用(())符号.不能直接用=号了.=号没有值类型.默认将后面变成字符串了. 3. 可以通过定义符:let达到(()) 运算效果. 十进制转换为其他进制 ((表达式)),(())里面可以是任意数据表达式.如果前面加入:”$”可以读取计算结

JAVA之旅(一)——基本常识,JAVA概念,开发工具,关键字/标识符,变量/常量,进制/进制转换,运算符,三元运算

JAVA之旅(一)--基本常识,JAVA概念,开发工具,关键字/标识符,变量/常量,进制/进制转换,运算符,三元运算 Android老鸟重新学一遍JAVA是什么感觉?枯燥啊,乏味啊,而且归纳写博客,都是很痛苦的事情,但是程序之路这么长,你必须精通的不能再精通一门语言才行(有点说大了哈),但是最起码你要如鱼得水吧,我准备的资料有: JAVA编程思想 深入浅出JAVA 黑马,传智,慕课,极客学院等-的视频 Google搜索 我们既然是重新学一遍,那我们尽量就是用记事本去敲代码好了,这里我用notep

夯实基础——P2084 进制转换

题目链接:https://www.luogu.org/problem/P2084 P2084 进制转换 题目背景 无 题目描述 今天小明学会了进制转换,比如(10101)2 ,那么它的十进制表示的式子就是 : 1*2^4+0*2^3+1*2^2+0*2^1+1*2^0, 那么请你编程实现,将一个M进制的数N转换成十进制表示的式子. 注意:当系数为0时,该单项式要省略. 输入格式 两个数,M和N,中间用空格隔开. 输出格式 共一行,一个十进制表示的式子. 输入输出样例 输入 #1复制 2 1010