0

私はこのコードを持っています:

#include <stdio.h>
#include <string.h>
int main(void)
{
    long long int n,b,t,j;
    while(scanf("%llu",&n) && n)
    {
        char a[2000]={0},c[2000]={0};
        b=0;
        int k=0;

        while(n>0)
        {
            a[b++]=(n%2)+48;
            if(n%2==1)
            k++;
            n=n/2;
        }
            a[b]='\0';
            j=strlen(a)-1;

        for(b=j,t=0;b>=0;b--)

            c[t++]=a[b];
            c[t]='\0';

        printf("The parity of %s is %d (mod 2).\n",c,k);
    }

return 0;
}

このコードは完璧に機能します。

Cでユニオンを使用して10進数を2進数に変換したい

どうやってやるの?

4

4 に答える 4

3

できません、それは意味がありません。10 進数と 2 進数は数値の表現です。10 進数の 10 台の車は、2 進数の 10 台の車と同じ数です。まさに同じ数字です。ユニオンを使用して、ある整数表現を別の整数表現に変更する方法はありません。

于 2013-04-04T10:58:38.300 に答える