dec do binary na uniach

0

Mam kod który zamienia podaną liczbę na binarną oraz wyświetla jej parytet. Muszę to jednak oprzeć na uniach. Zupełnie nie wiem jak się za to zabrać.

#include <stdio.h>
#include <string.h>
int main()
{
    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;
}
0
struct allinclusive
  {
   union
     {
      short v_short;
      int v_int;
      long v_long;
      long long v_long_long;
      float v_float;
      double v_double;
      long double v_long_double;
      unsigned char tb[sizeof(long double)];
     };
  };

allinclusive A;
A.v_long=5;
for(unsigned i=0;i<sizeof(A.v_long);++i) cout<<hex<<(unsigned)tb[i];
0

Możesz trochę powiedzieć o zasadzie działania tego kodu?
Dla 5 daje mi 500.

#include <iostream>

using namespace std;


struct allinclusive
  {
   union
     {
      short v_short;
      int v_int;
      long v_long;
      long long v_long_long;
      float v_float;
      double v_double;
      long double v_long_double;
      unsigned char tb[sizeof(long double)];
     };
  };
int main()
{

    allinclusive A;
    A.v_long=5;

    for(unsigned i=0; i<sizeof(A.v_long); ++i)
    {
        cout <<"bla";
        cout<< hex <<(unsigned)A.tb[i];
    }

    return 0;
}

1 użytkowników online, w tym zalogowanych: 0, gości: 1