正文  电脑教程 > 服务器教程 >

C语言中如何实现“17进制”转“10进制”实例代码

C语言中实现“17进制”转“10进制”实例代码 17进制转成10进制,输入是数字跟大写字母。例如输入G、11、FF,分别输出16、18、270 #i...

C语言中实现“17进制”转“10进制”实例代码

17进制转成10进制,输入是数字跟大写字母。例如输入G、11、FF,分别输出16、18、270

#include <iostream> 
#include <string> 
using namespace std; 
 
int main() 
{ 
  string s; 
  int len,factor=17,num; 
  bool sign;//用来标志输入字符串是否非法 
  while(cin>>s) 
  { 
    len = s.size(); 
    sign =1; 
    num=0; 
 
    for(int i=0;i<len;i++) 
    { 
      if(s[i]>=‘0‘&&s[i]<=‘9‘)      
        num=num*factor+(s[i]-‘0‘); 
 
      else if(s[i]>=‘A‘&&s[i]<=‘H‘) 
        num=num*factor+(s[i]-‘A‘+10); 
 
      else 
      { 
        sign=0; 
        break; 
      } 
    } 
 
    if (sign) 
      cout<<num<<endl; 
    else 
      cout<<"Error Input!"<<endl; 
  } 
  return 0; 
} 

C语言中如何实现“17进制”转“10进制”实例代码