Informatyka 2
Informatyka 2 (ES1E3017) (ES1E3017)
Informatyka 2
Informatyka 2 (ES1E3017) (ES1E3017)
Politechnika Białostocka
Politechnika Białostocka -- Wydział ElektrycznyWydział Elektryczny
Elektrotechnika, semestr III, studia stacjonarne I stopnia Elektrotechnika, semestr III, studia stacjonarne I stopnia
Rok akademicki 2020/2021 Rok akademicki 2020/2021 Rok akademicki 2020/2021 Rok akademicki 2020/2021
Pracownia nr 15 Pracownia nr 15
dr inż. Jarosław Forenc
Informatyka 2 (ES1E3017), studia stacjonarne I stopnia dr inż. Jarosław Forenc
Rok akademicki 2020/2021, Pracownia nr 15 2/8
Operatory bitowe Operatory bitowe
Operator
Operator ZnaczenieZnaczenie OpisOpis Operator
Operator ZnaczenieZnaczenie OpisOpis
& AND Koniunkcja bitowa
| OR Alternatywa bitowa
^ XOR Różnica symetryczna
~ NOT Uzupełnienie jedynkowe
>> Przesunięcie bitowe w prawo
<< Przesunięcie bitowe w lewo
Informatyka 2 (ES1E3017), studia stacjonarne I stopnia dr inż. Jarosław Forenc
Rok akademicki 2020/2021, Pracownia nr 15 3/8
Koniunkcja bitowa (&) Koniunkcja bitowa (&)
unsigned char x = 106; /* 01101010 */
unsigned char x = 106; /* 01101010 */
unsigned char y = 173; /* 10101101 */
unsigned char z;
z = x & y;
x 0 1 1 0 1 0 1 0 y 1 0 1 0 1 1 0 1 ---
z 0 0 1 0 1 0 0 0
x
x 0 1 0 1
yy 0 0 1 1 x
x & y& y 0 0 0 1
Informatyka 2 (ES1E3017), studia stacjonarne I stopnia dr inż. Jarosław Forenc
Rok akademicki 2020/2021, Pracownia nr 15 4/8
Alternatywa bitowa (|) Alternatywa bitowa (|)
unsigned char x = 106; /* 01101010 */
unsigned char x = 106; /* 01101010 */
unsigned char y = 173; /* 10101101 */
unsigned char z;
z = x | y;
x 0 1 1 0 1 0 1 0 y 1 0 1 0 1 1 0 1 ---
z 1 1 1 0 1 1 1 1
x
x 0 1 0 1
yy 0 0 1 1 x
x | y| y 0 1 1 1
Informatyka 2 (ES1E3017), studia stacjonarne I stopnia dr inż. Jarosław Forenc
Rok akademicki 2020/2021, Pracownia nr 15 5/8
Różnica symetryczna (^) Różnica symetryczna (^)
unsigned char x = 106; /* 01101010 */
unsigned char x = 106; /* 01101010 */
unsigned char y = 173; /* 10101101 */
unsigned char z;
z = x ^ y;
x 0 1 1 0 1 0 1 0 y 1 0 1 0 1 1 0 1 ---
z 1 1 0 0 0 1 1 1
x
x 0 1 0 1
yy 0 0 1 1 x
x ^ y^ y 0 1 1 0
Informatyka 2 (ES1E3017), studia stacjonarne I stopnia dr inż. Jarosław Forenc
Rok akademicki 2020/2021, Pracownia nr 15 6/8
Uzupełnienie jedynkowe (~) Uzupełnienie jedynkowe (~)
unsigned char x = 106; /* 01101010 */
x 0 1 1 0 1 0 1 0
unsigned char x = 106; /* 01101010 */
unsigned char z;
z = ~x;
x
x 0 1
--- z 1 0 0 1 0 1 0 1
x
x 0 1
~x
~x 1 0
Informatyka 2 (ES1E3017), studia stacjonarne I stopnia dr inż. Jarosław Forenc
Rok akademicki 2020/2021, Pracownia nr 15 7/8
Przesunięcie bitowe w prawo (>>) Przesunięcie bitowe w prawo (>>)
unsigned char x = 106; /* 01101010 */
x 0 1 1 0 1 0 1 0
unsigned char x = 106; /* 01101010 */
unsigned char z;
z = x >> 2;
--- z 0 0 0 1 1 0 1 0
na najstarszej pozycji pojawia się 0 (dla liczb bez znaku) lub powielony bit znaku (dla liczb ze znakiem)Informatyka 2 (ES1E3017), studia stacjonarne I stopnia dr inż. Jarosław Forenc
Rok akademicki 2020/2021, Pracownia nr 15 8/8
Przesunięcie bitowe w lewo (<<) Przesunięcie bitowe w lewo (<<)
unsigned char x = 106; /* 01101010 */
x 0 1 1 0 1 0 1 0
unsigned char x = 106; /* 01101010 */
unsigned char z;
z = x << 1;