0
点赞
收藏
分享

微信扫一扫

生成1-256十进制,二进制,八进制,十六进制值


#include<iostream>
#include<iomanip>
#include<cmath>
#include<cstring>

using namespace std;

string TenToBinary(int num);

int main()
{
cout<<left<<setw(3)<<"十进制";
cout<<left<<"\t"<<setw(8)<<"二进制";
cout<<left<<"\t"<<setw(3)<<"八进制";
cout<<left<<"\t"<<setw(2)<<"十六进制";
cout<<endl;

for(int i=1;i<=256;i++)
{
cout<<left<<setw(3)<<dec<<i<<"\t";//十进制
cout<<right<<"\t"<<setw(8)<<TenToBinary(i);
cout<<left<<setw(3)<<oct<<i;//八进制
cout<<left<<"\t"<<setw(2)<<hex<<i; //十六进制
cout<<endl;
}

return 0;
}

string TenToBinary(int num)
{
string str="";

//寻找最大位置
int maxPos,i=0;
while(pow(2,i)<=num)
{
i++;
}
maxPos=i;

int q,r;//商,余数
r=num;
while(maxPos-1>=0)
{
q=r/pow(2,maxPos-1);
r=r-q*pow(2,maxPos-1);
cout<<q;
maxPos--;
}

return str;
}

运行效果如下

生成1-256十进制,二进制,八进制,十六进制值_c++


举报

相关推荐

0 条评论