有兩種計算方法,執行的結果是完全相同的:
一是採用位運算的方法:
#include
int main()
{ int n,i;
scanf("%d",&n);
for(i=31;i>=0;i--)
printf("%d",(n&(1
return 0;
}
二是採用樓主指定的方法:
int a[32];
{ int n,i,k=0;
if(n
for(i=31;n;i--)
{a[i]=n%2;
n/=2;
if(k==1)
{for(i=31;i>=0;i--)
a[i]=1+a[i];
for(i=31;a[i];i--)
a[i]=0;
a[i]=1;
for(i=0;i
printf("%d",a[i]);
有兩種計算方法,執行的結果是完全相同的:
一是採用位運算的方法:
#include
int main()
{ int n,i;
scanf("%d",&n);
for(i=31;i>=0;i--)
printf("%d",(n&(1
return 0;
}
二是採用樓主指定的方法:
#include
int a[32];
int main()
{ int n,i,k=0;
scanf("%d",&n);
if(n
for(i=31;n;i--)
{a[i]=n%2;
n/=2;
}
if(k==1)
{for(i=31;i>=0;i--)
a[i]=1+a[i];
for(i=31;a[i];i--)
a[i]=0;
a[i]=1;
}
for(i=0;i
printf("%d",a[i]);
return 0;
}