蓝桥杯-十六进制转十进制

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

思路:十六进制转换为二进制,二进制计算十进制;
进坑点: 忽略十六进制转换成二进制时的顺序:十六进制->二进制:(顺序)   二进制->十进制:(逆序)
            忘记“正整数"关键词,FFFFFFFF为负值,所以数据类型是:unsigned long long
            乘法方法,pow(2,n);
#include
#include
#include
#include
#include
using namespace std;
const int Max=500005;
int arr[Max];
char str[55];
char str1[505],str2[505];
int main()
{
  cin>>str;
  int len=strlen(str);
  int len1=0,len2=0;
  for(int i=0;i=0;i--){
  	if(str1[i]=='1'){
  		
  	//	cout<

你可能感兴趣的:(蓝桥)