Operatory przesunięć bitowych: > i funkcja itoa() Wypisanie

Transkrypt

Operatory przesunięć bitowych: > i funkcja itoa() Wypisanie
Operatory przesunięć bitowych: << >> i funkcja itoa()
int b = 1;
cout<<"mnozenie przez 2 to przesunięcie o 1 bit w lewo \n";
for (int i=0; i<50; i++) {
cout<<b<<' ';
b = b<<1;
}
b = 1;
cout<<"\n\n mnozenie przez 4 to przesunięcie o 2 bity w lewo \n";
for (int i=0; i<50; i++) {
cout<<b<<' ';
b = b<<1;
}
cout<<"\n\n dzielenie przez 2 to przesunięcie o 1 bit w prawo \n";
b = 1000000;
for (int i=0; i<20; i++) {
cout<<b<<' ';
b = b>>1;
}
cout<<"\n iloczyn bitowy & \n";
// 1011 & 110 = 10 dec: 11 & 6 = 2
cout<<"11 & 6 = "<< (11 & 6) <<endl;
// potegi dwojki maja tylko jeden bit ustawiony na 1
// if (x & 1<<i) - sprawdzanie czy liczba x ma i-ty bit ustawiony na 1
int x = 123;
cout<<"\n testowanie ktore bity w liczbie x sa ustawiona na 1 \n";
int bit = 1;
while (1<<bit < x) bit++;
// wyznacz liczbe bitow reprezentacji x
cout << x << " ma " << bit << " bitow w rep. binarnej \n";
while (bit>0) {
// wypisz reprezentacje binarna liczby x
if (x & 1<<bit) cout << 1 ; else cout << 0;
bit --;
} cout << endl;
cout << "Reprezentacja liczby w roznych systemach pozycyjnych \n";
// przy pomocy funkcji itoa(), uwaga: funkcja itoa() jest niestandardowa
char bufor[100];
itoa(x,bufor,2);
cout<<"\nbinarnie to bedzie "<<bufor<<endl;
itoa(x,bufor,3);
cout<<"trojkowo to bedzie "<<bufor<<endl;
cout<<"szesnastkowo to bedzie "<<hex<<x<<endl;
cout<<x<<endl;
cout<<dec<<x<<endl;
Wypisanie reprezentacji binarnych wszystkich liczb z zakresu od 0 do N=2n-1
int n = 10;
int N = 2<<n;
for (int i=0; i<N; i++){
}
char bufor[100];
itoa(i,bufor,2);
cout.width(n); cout.fill('0');
cout << i << '\t'<< bufor << endl;

Podobne dokumenty