- printbit(x) - wypisującą obraz bitowy danej liczby całkowitej x;
- setbits(x,p,n,y) – funkcja ta ma zwracać wartość x taką by n-bitów zaczynając od bitu
numer p było kopią n skrajnie prawych bitów y,
- invert(x,p,n) – funkcja ta ma zwracać wartość x taką by n-bitów zaczynając od bitu numer
p miało zmienioną wartość na przeciwną (z 1 na 0, z 0 na 1),
- rightrot(x,n) – bufor cyrkularny z przesunięciem w prawo. Funkcja ta ma zwrócić jako swą
wartość liczbę całkowitą bez znaku x po cyklicznym przesunięciu w prawo o n bitów.
Oznacza to, że „tracone” najmłodsze bity mają zostać wstawione na miejsce n najstarszych
bitów słowa x,
- leftrot(x,n) – bufor cyrkularny z przesunięciem w lewo. Funkcja ma działać tak jak rightrot
z tym, że przesunięcie ma być w lewo.
Zrobiłem pierwszy z nich (tj. printbit), tylko nie wiem czy w dobrze:
Kod: Zaznacz cały
#include <iostream>
using namespace std;
void bin(int a);
int main ()
{
cout<<"Podaj liczbe calkowita : ";
int a;
cin>>a;
bin(a);
system ("pause");
}
void bin (int a)
{
int x=a % 2;
if (a > 1)
{
bin(a/2);
}
cout<<x<<"
";
}