38928

38928



48


ROZDZIAŁ 8. OPERATORY

Nie jest to zatem takie straszne na jakie wygląda. Widać, że l»itv będące na skraju są tracone, a w “puste” miejsca wpisywane są zera.

Inaczej rzecz się ma jeżeli lewy argument jest liczbą ze znakiem. Dla przesunięcia bitowego w lewo a << b jeżeli a jest uicujcmua i wartość <i • 2* mieści się w zakresie liczby to jest to wynikiem operacji. W przeciwnym wypadku działanie jest niezdefiniowane1.

Dla przesunięcia bitowego w lewo. jeżeli lewy argument jest nieujemny to operacja zachowuje się tak jak w przypadku liczb bez znaku. Jeżeli jest on ujemny to zachowanie jest zależne od implementacji.

Zazwyczaj operacja przesunięcia w lewo zacltowuje się tak samo jak dla liczb bez znaku, natomiast przy przesuwaniu w prawo bit znaku nie zmienia się2:

a    |    a»l    I    a»2

------+------+------

0001    I    0000    I    0000

0011    1    0001    I    0000

0101    I    0010    I    0001

1000    I    1100    I    1110

1111    I    1111    I    1111

1001    I    1100    I    1110

Przesunięcie bitowe w lewo odpowiada pomnożeniu, natomiast przesunięcie bitowe w prawo podzieleniu liczby przez dwa do potęgi jaką wyznacza prawy argument. Jeżeli prawy argument jest ujemny lub większy lub równy liczbie bitów w typie, działanie jest niezdefiniowane.

#include <stdio.h>

int main ()

{

int a = 6;

printf ("6 « 2 - 7,d\n", a«2); /* wypisze 24 */ printf ("6 » 2 ■ */td\n", a»2); /* wypisze 1 */ return 0;

>

Porównanie

W języku C występują następujące operatory porównania:

•    równe (“==”),

•    różne (“!=”),

•    mniejsze ("<”).

•    większe (“>”),

•    mniejsze lub równe (“<=”) i

1

'Niezdefiniowane w takim samym sensie jak niezdefiniowane jest zachowanie programu, gdy próbujemy odwołać się do wartości wskazywanej |>rzez wartość NULI. czy do zmiennych pusta tablic;}.

2

ale jeżeli zależy O na (irzenośituści kodu nie możesz na tym polegać



Wyszukiwarka

Podobne podstrony:
! Listy Listy 12 Redakcja odpowiada Może to nie jest to, o co mi tak na. prawcie chodziło, ale na p
page0132 122 S. DICK STEIN. do tworzenia rzeczywistości, nie spełnionych jeszcze w porządku stworzen
książka8 Instynktownie czuła, że nie jest to najlepsze wyjście. Co zatem powinna uczynić? Wrócić do
GK (33) róg to ten bliżej lewej ręki, a może odwrotnie? Nie jest to takie oczywiste Rzadko tłumaczy
KINEMATYKA0029 RZUTY ( Nie jest to takie trudne !!! Ten skomplikowany ruch rozpatruje jako złoż
gis1 A--- sTwórzyl EyŁawgTmaayji^ w- ■ mmmJz 2. TIN- WYBIERZ ZDANIE FAŁSZ YWE: ?.. nie jest to jede
KB0017 Nie jest to wypadek odosobniony, bo także współczesny, najwybitniejszy iluminator norymberski

więcej podobnych podstron