蓝桥杯 十六进制转十进制 C语言版

问题描述
  从键盘输入一个不超过8位的正的十六进制数字符串,将它转换为正的十进制数后输出。
  注:十六进制数中的10~15分别用大写的英文字母A、B、C、D、E、F表示。

样例输入
FFFF
样例输出
65535

看到这个问题,首先也是很简单的想到直接循环进行转换,没有考虑类型的问题,全部用的是int,然后将代码进行测试,发现最后一个测试数据:FE65CDBA转换结果错了,就说明数据肯定太大了,接着去网上查了下,发现可以采取double型,然后输出用.1f即可。代码如下:
s:输入的16进制字符串
result:转换过后的十进制结果
t:将十六进制按权展开时的权
l:16进制的位数
因为进制转换按权展开时,最左边的一位权最大,最右边的一位权最小,故得逆序进行乘权。

#include<stdio.h>
#include<string.h>
int main()
{char s[8];double result=0,t=1;int l;scanf("%s",s);l=strlen(s);while(l){l--;if(s[l]>=65)s[l]=s[l]-7;result += (s[l]-'0')*t;t=t*16;}printf("%.0f",result);return 0;
}

为什么double类型会比int类型的范围大呢?
因为double与int类型的存储机制不同,int的4个字节全部都是数据位,而double是以尾数,底数,指数的形式表示的,因此double比int能表示的数据范围更广。
想要深入了解的可以看看下面的文章:

https://blog.csdn.net/weixin_42856843/article/details/81989737?spm=1001.2101.3001.6650.1&utm_medium=distribute.pc_relevant.none-task-blog-2%7Edefault%7ECTRLIST%7Edefault-1.no_search_link&depth_1-utm_source=distribute.pc_relevant.none-task-blog-2%7Edefault%7ECTRLIST%7Edefault-1.no_search_link&utm_relevant_index=2

蓝桥杯 十六进制转十进制 C语言版相关推荐

  1. 蓝桥杯 十六进制转为八进制 C语言版

    ** 蓝桥杯 十六进制转为八进制 ** 题目 给定n个十六进制正整数,输出它们对应的八进制数. 输入格式 输入的第一行为一个正整数n (1<=n<=10). 接下来n行,每行一个由09.大 ...

  2. 十进制转十六进制c语言_蓝桥杯十六进制转十进制,十进制转十六进制精简版(C++)...

    [plain] view plaincopy //十六进制转十进制 #include<iostream> using namespace std; #include<string&g ...

  3. 蓝桥杯 基础练习 十进制转十六进制(C++)

    蓝桥杯 基础练习 十进制转十六进制(C++) 最近自己在练习,将正确的代码分享同时也是记录便于查看.但有的可能写的太复杂,不一定是最简便的代码. 这个是我最近学习了一点关于栈的算法,利用栈来写的 问题 ...

  4. 蓝桥杯练习系统之基础训练Java版(2-26)—— 报时助手

    蓝桥杯练习系统之基础训练Java版(2-26)-- 报时助手 **难度等级:普通****关键字:字符串 条件判断** 问题描述: 给定当前的时间,请用英文的读法将它读出来.时间用时h和分m表示,在英文 ...

  5. 蓝桥杯之算法模板题 Python版

    蓝桥杯之算法模板题 Python版 文章目录 蓝桥杯之算法模板题 Python版 线段树 DP 动态规划 dp, LIS ** 01背包 完全背包 多重背包 混合背包 分组背包 区间DP 一.什么是区 ...

  6. 菜菜的刷题日记 | 蓝桥杯 — 十六进制转八进制(纯手撕版)附进制转换笔记

    系列索引:菜菜的刷题日记 | 被LeetCode用Python狂虐的那段日子 万万没想到啊,回老家过年断更的几天之后,我会因为无聊在除夕这天做了会儿题,然后写篇题解. 文章目录 [题目] [我的代码] ...

  7. 蓝桥杯练习系统十进制转十六进制(python)

    问题描述 给出一个非负整数,将它表示成十六进制的形式. 输入格式 输入包含一个非负整数a,表示要转换的数.0<=a<=2147483647 输出格式 输出这个整数的16进制表示 参考代码 ...

  8. 蓝桥杯2018第九届C语言B组省赛习题题解——习题B.明码(暴力破解密码)

    每日刷题(四十三) 蓝桥杯第九届C语言B组省赛习题 习题B:明码 这道题还是很值得细品的,很多人都会被题目太长给吓到,其实这个题考察的东西很少也很简单,就是考十进制转化为二进制外加结果的输出格式构造以 ...

  9. 在c语言中 十六进制转十进制,C语言中十六进制转十进制两种实现方法

    C语言 · 十六进制转十进制 问题描述 从键盘输入一个不超过8位的正的十六进制数字符串,将它转换为正的十进制数后输出. 注:十六进制数中的10~15分别用大写的英文字母A.B.C.D.E.F表示. 样 ...

最新文章

  1. wget使用代理下载
  2. linux时间轮算法,关于时间轮的设计 linux hashed Hierarchical timing wheel
  3. Postman获取App端接口
  4. [C++STL]常用集合算法
  5. 前端学习(1812):前端调试之shadow
  6. java list装3组数据_数组转List的3种方法和使用对比!
  7. Bailian4143 和为给定数【排序+二分】
  8. arduino交通灯编程代码_Arduino初初教程3 (交通灯)
  9. QQ音乐JS逆向爬虫,获取调皮的sign参数,我用python全都爬!
  10. 设置华表Cell插件外观时的“闪烁”问题
  11. iOS开发之响应式编程RAC
  12. 书店图书销售管理系统SSM
  13. 计算机重启无法关机,电脑无法关机或重启是为什么?
  14. threejs全景图片展示
  15. maven打包失败解决方案
  16. 如何选择JAVA培训机构,兼议什么样的人适合培训机构
  17. matlab 画图添加图例时,改变图例中字体大小
  18. 我的第一篇博文——写下我的规划
  19. 小甲鱼第5章:列表、元组和字符串(半整理)
  20. 【Excel】排名之成绩并列排名(sumproduct、countif 函数的组合使用方法)

热门文章

  1. 模拟电视之信号节目过程
  2. 圈子决定人生,靠近什么样的人
  3. 仿微信悬浮窗的关键技术点
  4. 国内最好用的短网址推荐
  5. 树莓派从开机到安装Opencv
  6. xp计算机待机密码设置密码,XP系统电脑待机状态恢复后提示输入密码如何设置 XP系统电脑待机状态恢复后提示输入密码怎样设置...
  7. [MITOPENCOURSEWARE] 6.094 Introduction to Programming in MATLAB
  8. 科大讯飞webAPI文字转语音
  9. 思维模型 塔克曼阶梯理论
  10. 生产实践题目计算机,生产运作管理课后计算机题和实践题[部分]答案解析.doc