daily pastebin goal
23%
SHARE
TWEET

Untitled

a guest Mar 20th, 2019 60 Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. #include <iostream>
  2. using namespace std;
  3. int znajdz(char dana)   // szukanie najstarszego miejsca bitu
  4. {
  5.     int licznik=0;
  6.     char tmp=1;
  7.     for(int i=8;i>=0;i--)
  8.     {
  9.         if((dana&(tmp<<i))==0)   //koniunkcja
  10.             licznik++;
  11.         else
  12.             break;
  13.     }
  14.     return licznik;
  15. }
  16.  
  17. int znajdz(int dana)               // dla wiekszych liczb
  18. {
  19.     int licznik=0;
  20.     int tmp=1;
  21.     for(int i=15;i>=0;i--)
  22.     {
  23.         if((dana&(tmp<<i))==0)
  24.             licznik++;
  25.         else
  26.             break;
  27.     }
  28.     return licznik;
  29. }
  30.  
  31. void pokaz(int dana)               //wyswietla w postaci binarnej
  32. {
  33.     for(int i=15;i>=0;i--)
  34.     {
  35.         if((dana&(1<<i))!=0)
  36.             cout <<1;
  37.         else
  38.             cout <<0;
  39.     }
  40.     cout << "\n";
  41. }
  42.  
  43. int main()
  44. {
  45.     char info_c=0xff;                    // wiadomosc w postaci char
  46.     int info=info_c<<8;                // wiadomosc w postaci int
  47.     char dz_c=13;                                 //dzielnik char
  48.     int dz_i=dz_c<<(8+znajdz(dz_c)-1);            // dzielnik int
  49.     int wynik;                                              //zmienna do wnyiku
  50.     int pom;                                                //niepotrzebne
  51.     cout<< "liczenie klucza" <<endl;
  52.     wynik=info^dz_i;                                          //xor
  53.     pokaz(wynik);
  54.     //cout<<znajdz(info^dz_i)<<endl;
  55.  
  56.     wynik^=dz_i>>(znajdz(info^dz_i));            // xory
  57.     pokaz(wynik);
  58.     wynik^=dz_i>>(znajdz(wynik));
  59.     pokaz(wynik);
  60.     wynik^=dz_i>>(znajdz(wynik));
  61.     pokaz(wynik);
  62.     cout<< "sprawdzanie"<<endl;
  63.     //pom=wynik<<znajdz(wynik);
  64.     wynik=info|wynik;
  65.     wynik^=dz_i>>(znajdz(wynik));
  66.     pokaz(wynik);
  67.     wynik^=dz_i>>(znajdz(wynik));
  68.     pokaz(wynik);
  69.     wynik^=dz_i>>(znajdz(wynik));
  70.     pokaz(wynik);
  71.     wynik^=dz_i>>(znajdz(wynik));
  72.     pokaz(wynik);
  73.     //cout<< znajdz(wynik)<<endl;
  74. //  pokaz(pom);
  75.     system("pause");
  76.     return 0;
  77. }
RAW Paste Data
We use cookies for various purposes including analytics. By continuing to use Pastebin, you agree to our use of cookies as described in the Cookies Policy. OK, I Understand
 
Top