Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?

sprawdzanie danego bitu

Ostatnio zmodyfikowano 2015-01-13 01:02
Autor Wiadomość
snd0cff
Temat założony przez niniejszego użytkownika
sprawdzanie danego bitu
» 2015-01-12 23:58:06
moim zadaniem jest sprawdzenie czy najstarszy bajt zadanej zmiennej ma wartość np. 0xBB.
Problem jest w tym, ze nie wiem jak porównać dany bajt. Czy warunek if ma się składać z 8 części, gdzie w każdej sprawdzany jest dany bit
w sensie:
32bit==1
31bit==1
30bit==0
itd...
No i nie wiem, w jaki sposób przejść do tego bitu(bo chce porównać wyłącznie ten bajt, reszta mnie nie obchodzi)
P-124782
wilkoo13
» 2015-01-13 00:39:19
Nie jestem pewny czy o to chodzi ale chcesz pprst wiedzieć jak wygląda liczba w zapisie binarnym. W mojej książce bylo cos takiego:
C/C++
for( int i = 7; i >= 0; i-- )
     if( var &( 1 << i )
cout << "1";
else
cout << "0";

To są operatory obrotu. Gdzie var to zmienna a 1<<i to każda potęga liczby 1 (czyli bit 1, 10, 100, 1000, 10000). Poradzisz sobie aby zmodyfikowac kod by nie pokazywal ci 6 czy 7 zer na poczatku tylko tyle ile jest potrzebne. Mam nadzieje ze pomoglem
P-124785
snd0cff
Temat założony przez niniejszego użytkownika
» 2015-01-13 01:02:24
Rozwiązałem to w taki sposób:
#define CHECK(arg) ((arg >>=(( sizeof(T) * 8 - 8))==0xCC) ? true : false)

chyba zbyt krótko się głowiłem nad tym, zanim wrzuciłem bo wpadłem na ten pomysł czekając na odpowiedz! ;)
W każdym razie dzieki za odpowiedz!
pozdrawiam
P-124786
« 1 »
  Strona 1 z 1