首页 > 其他分享 >16进制转10进制【北京大学考研机试题】

16进制转10进制【北京大学考研机试题】

时间:2023-02-27 09:46:33浏览次数:37  
标签:10 进制 16 int include 输入

16进制转10进制

写出一个程序,输入一个十六进制的数值字符串,输出该数值的十进制字符串。

输入格式

输入包含多组测试数据。

每组数据占一行,包含一个十六进制的数值字符串。

输出格式

每组数据输出一行结果,表示给定数值的十进制字符串。

数据范围

每个输入最多包含 100组数据。
所有答案均在 int 范围内。

输入样例:

0xA
输出样例:

10

思路

秦九韶求和

代码

点击查看代码
#include<iostream>
#include<vector>
#include<cstring>
using namespace std;
const char nl = '\n';
int main(){
    string s;
	//转换为数字
    while(cin >> s){    // 多次输入
        int j;  
        int ret = 0;    //答案在int范围内
        if(s[0] == '-')j = 3;   //注意可能是负数
        else j = 2;
        for(int i = j; i <= s.size() - 1; i ++ ){   //秦九韶算法求10进制
            ret *= 16;		//注意要先乘
            if(s[i] >= '0' && s[i] <= '9')ret += (s[i] - '0');
            else if(s[i] >= 'A' && s[i] <= 'Z')ret += (s[i] - 'A' + 10);    //注意判断大小写
            else ret += (s[i] - 'a' + 10);  //注意要加上10
        }
        if(s[0] == '-')cout << -ret << nl;
        else cout << ret << nl;
    }
}

标签:10,进制,16,int,include,输入
From: https://www.cnblogs.com/J-12045/p/17158613.html

相关文章

  • 十进制转八进制【华中科技大学考研机试题】
    十进制转八进制点击查看代码输入一个整数N,将其转换成八进制数输出。输入格式输入包含多组测试数据。每组数据占一行,包含一个整数N。输出格式每组数据输出占......
  • 二进制中1的个数
    二进制中1的个数输入一个32位整数,输出该数二进制表示中1的个数。注意:负数在计算机中用其绝对值的补码来表示。数据范围−100≤输入整数≤100样例1输入:9输出:2......
  • 登峰造极,师出造化,Pytorch人工智能AI图像增强框架ControlNet绘画实践,基于Python3.10
    人工智能太疯狂,传统劳动力和内容创作平台被AI枪毙,弃尸尘埃。并非空穴来风,也不是危言耸听,人工智能AI图像增强框架ControlNet正在疯狂地改写绘画艺术的发展进程,你问我绘画行......
  • 免费领取2023年上半年系统集成项目管理工程师重要知识点10G学习资料包
    课课家软考学院为2023年上半年系统集成项目管理工程师考生整理了2023年上半年系统集成项目管理工程师重要知识点10G学习资料的内容,希望能帮助考生掌握系统集成项目管理......
  • x210-2023-02-26
    1、个人猜测可能出于成本的考虑,厂家在BV4S上使用的ddr2芯片由原来三星的K4T1G164QE更换成了现在SPECTEK的PD723-25,即PRN系列,具体查询可以从SPECTEKSUPPORT网站上获得,这里......
  • 量化交易基础 - 10 - 拟合
    10-拟合然而,在判定量化策略的优度时,仍有一个极其重要的指导原则,这就是过度拟合。模型的过度拟合本质上意味着研究员使用过多的数据。最经典的定义是研究员建立了一个能......
  • 基础10:MySQL数据类型
    一、MySQL中的数据类型类型类型举例整数类型TINYINT、SMALLINT、MEDIUMINT、INT(或INTEGER)、BIGINT浮点类型FLOAT、DOUBLE定点数类型DECIMAL位类型......
  • 在1-100中打印出3的倍数
    #include<stdio.h>intmain(){intn=0;for(inti=1;i<101;i++){if(i%3==0){printf("%d是3的倍数\n",i);n++;}}printf("在1-......
  • #10051. 「一本通 2.3 例 3」Nikitosh 和异或
    求两段不相交子序列,他们异或和的和最大  #include<iostream>#include<algorithm>#include<cstring>usingnamespacestd;constintN=4e5+4;intch[N*32......
  • 6.10-微程序控制器
    微程序控制器基本思想硬布线:同步逻辑,繁,快,贵,难改1)一条指令多个时钟周期2)一个时钟周期一个状态3)一个状态对应一组并发信号4)如果需要新增一条指令,这些所有的状态机,以及......