background image

BITOWE OPERATORY LOGICZNE  

Język  C++  oferuje  sześć  tzw.  bitowych  operatorów  logicznych,  które  interpretują  operandy  jako  uporządkowany  ciąg 
bitów. KaŜdy bit moŜe przyjmować wartość 1 lub 0.  
 

Symbol
operatora

Funkcja

Składnia

&

bitowa koniunkcja

wyraŜenie & wyraŜenie

|

bitowa alternatywa

wyraŜenie | wyraŜenie

^

bitowa róŜnica symetryczna

wyraŜenie ^ wyraŜenie

<<

przesunięcie w lewo

wyraŜenie << wyraŜenie

>>

przesunięcie w prawo

wyraŜenie >> wyraŜenie

~

bitowa negacja

~wyraŜenie

 

Przykłady:

 

11110000&01010101=01010000 
11110000|01010101=11110101 
11110000^01010101=10100101 
00000010<<1=00000100  //mnoŜenie przez 2 
00000010>>1=00000001 //dzielenie przez 2 
Przypadkiem szczególnym instrukcji przypisania jest instrukcja:

 

a = a op b;

 gdzie 

op

 moŜe być jednym z dziesięciu operatorów: 

+

-

*

/

%

<<

>>

&

|

^

. Dla bardziej zwięzłego 

zapisu  wprowadzono  w  języku  C++  złoŜenia  znaku  przypisania  “=”  z  symbolem  odpowiedniego  operatora,  co  pozwala 
zapisać powyŜszą instrukcję w postaci: 

a op= b; 

background image

Na przykład instrukcję przypisania 

a = a << 3;

, której wykonanie przesuwa wartość zmiennej 

a

 o trzy pozycje w lewo, 

a następnie przypisuje wynik do 

a

. Instrukcję tę moŜna przepisać w postaci: 

a <<= 3; 

 

Symbol operatora

Zapis skrócony

Zapis rozwinięty

+=

a   +=   b

a  =  a + b;

-=

a   -=    b

a  =  a - b;

*=

a   *=   b

a  =  a * b;

/=

a   /=    b

a  =  a / b;

%=

a   %=  b

a  =  a % b;

<<=

a   <<= b

a  =  a << b;

>>=

a   >>= b

a  =  a >> b;

&=

a   &=  b

a  =  a & b;

|=

a   |=    b

a  =  a | b;

^=

a   ^=   b

a  =  a ^ b;

 

 
 
PĘTLA for 

for(pole inicjowania; warunek; algorytm) 
pole inicjowania zawiera algorytm wykonywany tylko raz, przed obrotem pętli.  
warunek, po spełnieniu którego wykonany zostanie kolejny obrót pętli, jest wykonywane wielokrotnie, tuŜ przed kaŜdym 
obrotem pętli.  
algorytm, wykonuje się go na koniec kaŜdego obrotu pętli, zazwyczaj zwiększa licznik obrotów pętli (np. zmienną i). 

background image

INSTRUKCJA continue 

Przydaje się wewnątrz pętli np. for. Sprawia, Ŝe instrukcje stanowiące treść pętli nie zostaną wykonane, ale samej pętli nie 
przerywa. Instrukcja przerywa tylko ten obieg pętli i zaczyna następny. 

 
INSTRUKCJA if 


if(wyraŜenie) instrukcja; 
II 
if(wyraŜenie) instrukcja1; 
else instrukcja2; 
 
 
Zadanie 4.1 
Napisać program, który zsumuje liczby naturalne od 1 do liczby, która zostanie wczytana z klawiatury, a następnie wynik 
wypisze na ekranie 
Zadanie 4.2 
Napisać program, który policzy wartość potęgi o wykładniku naturalnym x

n

 (x oraz n zostaną wczytana z klawiatury), pod 

warunkiem, Ŝe x jest liczbą całkowitą dodatnią, a następnie wynik wypisze na ekranie 
Zadanie 4.3 
Napisać program, w wyniku którego dwie wczytane z klawiatury liczby naturalne zostaną wydrukowane na ekranie, a 
następnie obliczyć ich iloczyn, nie uŜywając operacji mnoŜenia, przy czym wynik równieŜ powinien wyświetlić się na 
ekranie. 
Zadanie 4.4 
Napisać program pozwalający na wyznaczenie pierwiastków rzeczywistych równania kwadratowego wczytujący z 
klawiatury jego współczynniki, jeśli delta jest ujemna, powinien pojawić się na ekranie odpowiedni komunikat.  
Zadanie 4.5 
Zadany jest ciąg n liczb rzeczywistych. Napisz program obliczający sumę i średnią ciągu.