[c] opisywanie działania instrukcji

FEMO
Użytkownik
Użytkownik
Posty: 348
Rejestracja: 13 lut 2007, o 17:15
Płeć: Mężczyzna
Lokalizacja: warszawa
Podziękował: 163 razy

[c] opisywanie działania instrukcji

Post autor: FEMO »

Opisz działanie instrukcji x=x& ~127;w języku C. Czy zależy ono od liczby bitów przeznaczonych na reprezentację liczb całkowitych?
soku11
Użytkownik
Użytkownik
Posty: 6607
Rejestracja: 16 sty 2007, o 19:42
Płeć: Mężczyzna
Podziękował: 119 razy
Pomógł: 1823 razy

[c] opisywanie działania instrukcji

Post autor: soku11 »

127, zapisujemy dwojkowo:
\(\displaystyle{ 127_{(10)}=64+32+16+8+4+2+1=
2^5+2^4+2^3+2^2+2^1+2^0=
00111111_{(2)}}\)



Dalej robimy negacje, czyli:
\(\displaystyle{ ~(00111111)=11000000}\)

Robiac operacje AND na jakiejs zmiennej z ta maska otrzymujemy liczbe z wyzerowanymi 6 najmlodszymi bajtami.

I oczywiscie nie zalezy to od ilosci bitow na liczbe (oczywiscie pod warunkiem, ze jest ona wieksza niz 6), bo dalsze bity nie beda zmieniane za wzgledu na operacje AND z jedynka

Operacje oczywiscie w NKB.

Pozdrawiam.
ODPOWIEDZ