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;