博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
十六进制转十进制(蓝桥杯)
阅读量:6598 次
发布时间:2019-06-24

本文共 1546 字,大约阅读时间需要 5 分钟。

问题描述:

  从键盘输入一个不超过8位的正的十六进制数字符串,将它转换为正的十进制数后输出。
  注:十六进制数中的10~15分别用大写的英文字母A、B、C、D、E、F表示。
 
样例输入
FFFF
样例输出
65535
 
解答:
整体思路:
任意进制数据转十进制数据的通
法——每次前面的数据乘以X进制,再加上当前位数的值
 
细节处理:
十进制的存储类型务必满足小于等于8位的十六进制数,即16^8==2^32——unsigned int/unsigned long/long long unsigned long long——win32平台
 
1 #include
2 #include
3 4 using namespace std; 5 6 int main() 7 { 8 string dataX16; 9 cin>>dataX16;10 11 unsigned int dataX10=0;12 13 for(int i=0;i<=dataX16.length()-1;i++)14 {15 switch(dataX16[i])16 {17 case '0': dataX10=dataX10*16+0; break;18 case '1': dataX10=dataX10*16+1; break;19 case '2': dataX10=dataX10*16+2; break;20 case '3': dataX10=dataX10*16+3; break;21 case '4': dataX10=dataX10*16+4; break;22 case '5': dataX10=dataX10*16+5; break;23 case '6': dataX10=dataX10*16+6; break;24 case '7': dataX10=dataX10*16+7; break;25 case '8': dataX10=dataX10*16+8; break;26 case '9': dataX10=dataX10*16+9; break;27 case 'A': dataX10=dataX10*16+10; break;28 case 'B': dataX10=dataX10*16+11; break;29 case 'C': dataX10=dataX10*16+12; break;30 case 'D': dataX10=dataX10*16+13; break;31 case 'E': dataX10=dataX10*16+14; break;32 case 'F': dataX10=dataX10*16+15; break;33 }34 }35 36 cout<
<

 

转载于:https://www.cnblogs.com/bilibiliya/p/10299128.html

你可能感兴趣的文章
找不到ifconfig命令
查看>>
微服务事务处理
查看>>
用Groovy进行单元测试
查看>>
github地址
查看>>
nginx使用
查看>>
两个openssh间免密码登录
查看>>
【linux】 linux gpio操作
查看>>
【linux kernel】 softirq 软中断讨论
查看>>
2019武汉大学数学专业考研真题(回忆版)
查看>>
百度地图车辆运动轨迹
查看>>
文本与字体
查看>>
从函数式编程到Ramda函数库(一)
查看>>
ora-1652
查看>>
PL/SQL developer 开发小技能 and ash show command PL/SQL EXECUTE
查看>>
Linux oraenv Tips
查看>>
27-列表解析
查看>>
Java并发--线程安全策略
查看>>
python书籍分类和评语(不断更新)
查看>>
iOS 7用户界面过渡指南
查看>>
ansible变量定义
查看>>