十六进制转十进制
来源:互联网 发布:linux 开机启动sh 编辑:程序博客网 时间:2024/05/21 06:57
问题描述 从键盘输入一个不超过8位的正的十六进制数字符串,将它转换为正的十进制数后输出。 注:十六进制数中的10~15分别用大写的英文字母A、B、C、D、E、F表示。样例输入FFFF样例输出65535
还别说,这编程真是一天不练就不行。编个进制转化都会WA好几遍,还是怪自己能力不够。
下面就顺便在程序中注释一下当时在哪里出错,不管是思路上还是代码技巧上
#include <iostream>#include<cstdio>#include<cstring>#include<cmath>#define LL long long//宏定义using namespace std;int main(){ LL ans=0; string a;//C++中的字符串类型 cin>>a; int len=a.length();//取字符串的长度 for(int j=len-1; j>=0; j--) { if(a[j]>='0'&&a[j]<='9')//不能漏掉0的情况 //在十进制转十六进制中也错过 { ans+=(a[j]-'0')*pow(16,len-j-1);//求权值,完全可以用16的多少次方, //而我第一反应是用自定义函数,是麻烦了点 } else if(a[j]>='A'&&a[j]<='F') { ans+=(a[j]-'A'+10)*pow(16,len-j-1);//第一个括号里面是把再大写字母转换为数字的方法 } } cout<<ans<<endl; return 0;}
其实就是这么简单,嗯,,加油吧。
0 0
- Bailian4003 十六进制转十进制【十六进制】
- 十六进制转十进制
- 十六进制转十进制
- 十进制转十六进制
- hta 十六进制转十进制
- 十进制转十六进制 代码
- delphi 十六进制转十进制
- 十进制转十六进制
- 十六进制转十进制函数
- 十六进制转十进制
- 十进制转十六进制
- 十进制转十六进制方法
- 十进制转十六进制
- 十进制转十六进制
- 十六进制转十进制
- 十进制转十六进制
- 十进制转十六进制
- shell 十六进制转十进制
- 面向对象(1):基类与派生类
- 167. Two Sum II
- 蓝桥杯2016练习
- bundler安装和配置的全过程(最全)
- 查看给定时间段的内容在那些文件夹中
- 十六进制转十进制
- lstrlib.c源码解析
- PPT 2016 后台播放功能
- appium+Python:popupwindow设置焦点
- swift 捕获异常,异常处理方式
- android developer tiny share-20170228
- gradle更新失败,一直刷新,自己下载gradle
- 最近遇到一个类似淘宝购买商品加减数量然后还得实时更新数据到服务器的问题
- Android SDK location should not contain whitespace, as this cause problems with NDK tools