|
发表于 2007-3-25 20:47:54
|
显示全部楼层
希望大家去我的bllog灌水 我把代码贴过来
#i nclude<iostream>
using namespace std;
void convertb (unsigned int a,char p[]) {
char* q=p;
unsigned int t=0x80000000;
for (int i=0;i<32;i++)
{
if((t&a)==0)
*q='0';
else
*q='1';
q++;
a=a<<1;
}
}
void convertb ( int a,char p[]) {
char* q=p;
int t=0x80000000;
if(a<0) { *q='-';q++;
a=abs(a);}
a<<=1;
for (int i=0;i<31;i++)
{
if((t&a)==0)
*q='0';
else
*q='1';
q++;
a=a<<1;
}
}
void convert9( int a,char p[]){
char* q=p;
int index=39;
if(a<0) {a=abs(a);
*q='-';}
while(a!=0){
q[index]=a%9+'0';
index--;
if(index<=0) break;
a/=9;
}
}
int main(){
char p[32];
::memset(p,0,32);
char d[32];
::memset(d,0,32);
convertb((unsigned int)3222,p);
convertb(-3222,d);
int flag=0;
for (int i=0;i<32;i++)
{
if(p=='1') flag++;
if(flag>0)
cout<<p;}
cout<<endl;
flag=0;
for (int i=0;i<32;i++){
if(d=='-') cout<<d;
if(d=='1') flag++;
if(flag>0)
cout<<d;
}
cout<<endl;
char pp[40];
::memset(pp,0,40);
convert9( ( int) -19,pp);
int flag1=0;
if(*pp=='-')
cout<<*pp;
for(int i=1;i<40;i++)
{ if(pp!=0) flag1++;
if(flag1)
cout<<pp;}
cout<<endl;
system("AUSE");
return 0;
} |
|