1200字范文,内容丰富有趣,写作的好帮手!
1200字范文 > C++ 十进制转换为十六进制 十进制转换为二进制 十六进制转换为十进制

C++ 十进制转换为十六进制 十进制转换为二进制 十六进制转换为十进制

时间:2019-08-24 06:54:53

相关推荐

C++ 十进制转换为十六进制  十进制转换为二进制 十六进制转换为十进制

十进制转换为十六进制,也就是 采用 除k取余法 ,直接让10处以16,再对 数据如果小于10和大于10进行处理,代码如下:

#include<iostream>#include<string>using namespace std;int main(){long a;//输入的数int y=0;//循环中的余数string s="";//输出的结果cin>>a;if(a==0)//0比较特殊,单独处理{cout<<0;return 0;}while(a>0)//大于0的数{y=a%16; //求余if(y<10) //小于10的余数s=char('0'+y)+s; //利用字符的ascll码在字符串前面拼接elses=char('A'-10+y)+s; //大于9的余数用ABCDE表示a=a/16; }cout<<s;return 0;}

十六进制转换为10进制,采取的是 乘以16

#include<iostream> #include<string> #include<math.h> using namespace std; int main() { string s; int i=0,count,sum; while(getline(cin,s)) { int count=s.length(); sum=0; for(i=count-1;i>=0;i--)//从十六进制个位开始,每位都转换成十进制 { if(s[i]>='0'&&s[i]<='9')//数字字符的转换 { sum+=(s[i]-48)*pow(16,count-i-1); } else if(s[i]>='A'&&s[i]<='F')//字母字符的转换 { sum+=(s[i]-55)*pow(16,count-i-1); } } cout<<sum; } }

十进制 转换为 二进制,采取的是 除2取余法,其中把 2 换成其他小于10的数,可以变成相应的 其他进制

#include<iostream>using namespace std;int main(){int a;cin>>a;int result=0;int temp=a;int j=1;while(temp){result=result+j*(temp%2);temp=temp/2;j=j*10;}cout<<result<<endl;return 0;}

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。