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;
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).
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
I
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.