chyba, że ... ? :D
#include <iostream>
int main(void)
{
int wyn, bin, rozm_tab, ile_bitow, przesuniecie;
std::cin >> bin;
for(int i=bin, j=1; i>=1; i=i/2, j++)
{
rozm_tab=j;
}
int *tab = new int [rozm_tab];
int *tabPOM = new int [rozm_tab];
for(int i=bin, j=0; i>=1; i=i/2, j++)
{
if(i % 2 == 0)
{
wyn = i % 2;
}
else if(i % 2 == 1)
{
wyn = i % 2;
}
tab[j]=wyn;
}
for(int j=0, i=rozm_tab-1; j<rozm_tab; j++, i--)
{
tabPOM[j]=tab[i];
}
std::cout << bin << " -> ";
ile_bitow = rozm_tab;
if(rozm_tab % 4 == 0)
{
ile_bitow = (ile_bitow + 0);
przesuniecie = 0;
}
else if(rozm_tab % 4 == 1)
{
std::cout << "000";
ile_bitow = (ile_bitow + 3);
przesuniecie = 3;
}
else if(rozm_tab % 4 == 2)
{
std::cout << "00";
ile_bitow = (ile_bitow + 2);
przesuniecie = 2;
}
else if(rozm_tab % 4 == 3)
{
std::cout << "0";
ile_bitow = (ile_bitow + 1);
przesuniecie = 1;
}
for(int i=0, j=1; i<rozm_tab; i++, j++)
{
tab[i]=tabPOM[i];
std::cout << tab[i];
if((j+przesuniecie) % 4 == 0)
{
std::cout << " ";
}
}
std::cout << " = (" << rozm_tab << ") bitow << std::endl;
std::cout << std::endl;
std::cout << "razem (" << ile_bitow << ") bitow" << std::endl;
delete [] tab;
delete [] tabPOM;
std::cout << std::endl;
return 0;
}