Pokaż wyniki 1 do 2 z 2

Temat: Huston mamy problem!

  1. #1
    Zarejestrowany
    Jan 2010
    Postów
    2

    Domyślnie Huston mamy problem!

    hej z programowania nie będę ukrywał - jestem zielony, próbuję się go uczyć, ale ciężko mi to idzie. Ostatnio na zajęciach dostałem program do uzupełnienia i nie mogę sobie z nim poradzić. Proszę o pomoc.

    Kod:
    // ZAPOZNAJ SIE Z OPERACJAMI BITOWYMI I UZUPELNIJ PROGRAM:
    
    // DOPISZ 2 FRAGMENTY, KTORE DLA DANEJ LICZBY m powoduja , ze program:
    //   ustawia "1" na bitach b7,b6 - ustawia "0" na bitach b1,b0 - reszte bitow neguje. 
    //   Wynik zmienionej liczby m pokazuje w postaci bitowej.
    //======================================================================================================
    #include <iostream.h>
    //--------------------------------------------------------------------------
    // Funkcja drukuje bity liczby a o dlugosci 1 bajta(8 bitow) 
    void pisz_bin (unsigned char a)
    {
     unsigned char maska=128, //b7=1, pozostale bity =0 ,zmienna 8-mio bitowa==1 bajt
    	           k=0;  //LICZNIK
     while(k<8)
          { 
                       //(a & maska) "wycina" z liczby a bit o tym samym numerze, na ktorym stoi "1" w maska
    	        if( a & maska )cout<<"1"; else cout<<"0";
    
                             //przesuwanie 1 w zmiennej maska o jedna pozycje w prawo     
                maska >>=1;  // to samo co: maska=maska>>1; lub maska /=2; lub maska=maska/2;
               k++;
          }
    }
    //==========================================================================                    
    int main ()
    { int a;
      unsigned  char  m;    //1 bajt <0;255>                     
      cout<<"OPERACJE NA BITACH - zacznij od liczby m=2\n";     
    while(1)
     {
        cout <<  "\n\nWczytaj  liczbe calkowita [0;255] ";
        cin>>a; m=(unsigned  char)a;
    	cout << " m      :"; pisz_bin(m);       cout << "\tliczba m, bity: b7,b6,b5,b4,b3,b2,b1,b0\n";
    	cout << " ~m     :"; pisz_bin(~m);      cout << "\tm - negacja bitow\n";
    	cout << "m<<2    :"; pisz_bin(m<<2);    cout << "\tm pomnozone przez 4 = przes.w lewo o 2 bity\n";
    	cout << "m>>1    :"; pisz_bin(m>>1);    cout << "\tm podzielone przez 2 = przes. w prawo o 1 bit\n";
    	cout << "m |128  :"; pisz_bin(m | 128); cout << "\tm z ustawiona 1 na najstarszym bicie b7\n";
    	cout << "m &(~2) :"; pisz_bin(m &(~2)); cout << "\tm z ustawionym 0 na bicie b1\n";
    	cout << "m^4     :"; pisz_bin(m^4);     cout << "\tm z zanegowanym  bitem b2\n";
    	
    	// uzupelnij
    	
    }	
    //===========================================================================
        system("pause");
        return 0;
    }

  2. #2
    Zarejestrowany
    Aug 2009
    Postów
    408

    Domyślnie

    (~m) & 0xC0

Tagi

Zasady Postowania

  • Nie możesz zakładać nowych tematów
  • Nie możesz pisać wiadomości
  • Nie możesz dodawać załączników
  • Nie możesz edytować swoich postów
  •  
Subskrybuj

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52