#include
using namespace std;
int main()
{
char a[8];
int b[3]={0};
int c[2]={0};
int i,t,k;
while(cin>>a)
{
for(i=0,t=0;i<8;i++)
{
if(i<2)
b[0]=b[0]*2+a[i]-48;
else if(i<5)
b[1]=b[1]*2+a[i]-48;
else
b[2]=b[2]*2+a[i]-48;
}
for(i=0,t=0;i<8;i++)
{
if(i<4)
c[0]=c[0]*2+a[i]-'0';
else
c[1]=c[1]*2+a[i]-'0';
}
for(i=0;i<3;i++)
cout< cout<
cout<
return 0;
}
当我输入11111111时输出3 7 7
15 15
上面的我是用二进制的8位数。你可以改
十六进制的你可以自己在把它转化为字符型的
#include
using namespace std;
int main()
{
unsigned long input1,input2;
cin>>input1;
input2=input1;
int i,j;
char output1[50]="0",output2[50]="0x";
char *p1=output1+1,*p2=output2+2;
while(1)
{
if(input1==0&&input2==0)break;
if(input1/1000>=0)
{
*p1=input1%10+'0';
input1/=10;
*p1+=input1%10*2;
input1/=10;
*p1+=input1%10*4;
input1/=10;
p1++;
}
if(input2/10000>=0)
{
*p2=input2%10;
input2/=10;
*p2+=input2%10*2;
input2/=10;
*p2+=input2%10*4;
input2/=10;
*p2+=input2%10*8;
input2/=10;
if(*p2>=10)*p2+='a'-10;
else *p2+='0';
p2++;
}
}
cout<<"0";
while(p1!=output1+1)cout<<*(--p1);
cout<
while(p2!=output2+2)cout<<*(--p2);
cout<
}