进制转换c++

进制转换

http://www.nowcoder.com/questionTerminal/8f3df50d2b9043208c5eed283d1d4da6

#include<iostream>
#include<string>
#include<cmath>
using namespace std;
 int main()
 {
     string s;
     while(cin>>s)
     {
         int bit=0;
         int ans =0;
         for(int i=s.length()-1;i>1;i--)
         {
             if(s[i]>='0'&&s[i]<='9')
                 ans+=(s[i]-'0')*pow(16,bit++);
             else if(s[i]>='A'&&s[i]<='F')
                 ans+=(s[i]-'A'+10)*pow(16,bit++);
         }
         cout<<ans<<endl;
     }
     return 0;
 }
全部评论
#include<iostream> #include<string> //#include<cmath> using namespace std; int main() { string s; while(cin>>s) { //int bit=0; int ans =0; for(int i=2;i<s.size>='0'&&s[i]<='9') ans=ans*16+s[i]-'0'; else if(s[i]>='A'&&s[i]<='F') ans=ans*16+(s[i]-'A'+10); } cout<<ans><</ans></s.size></cmath></string></iostream>
点赞 回复 分享
发布于 2020-08-18 17:01
为什么循环到i>1即可,开头的数字能算进去吗
点赞 回复 分享
发布于 2021-03-30 14:55
不分析“0x”吧
点赞 回复 分享
发布于 2021-04-08 19:46
你没有区分字母的大小写,需要加个大小写转换再来判断。
点赞 回复 分享
发布于 2021-06-20 13:50

相关推荐

比亚迪汽车新技术研究院 硬件工程师 总包21左右 硕士
点赞 评论 收藏
分享
贪食滴🐶:你说熟悉扣篮的底层原理,有过隔扣职业球员的实战经验吗
点赞 评论 收藏
分享
51 11 评论
分享
牛客网
牛客企业服务