Niux Napisano Czerwiec 12, 2013 Zgłoś Udostępnij Napisano Czerwiec 12, 2013 int a = 1, b; b = a<<2; Po tej operacji jaką wartość będzie miała zmienna b? Czy to będzie tak, ze strumień przypisze do zmiennej a liczbę 2 a później nada zmiennej b ta samą wartość jaka ma zmienna a? Cytuj Link do komentarza Udostępnij na innych stronach More sharing options...
Bartosz Wójcik Napisano Czerwiec 12, 2013 Zgłoś Udostępnij Napisano Czerwiec 12, 2013 (edytowany) To operacja przesunięcia w lewo (shift left).Każdorazowe przesunięcie w lewo o 1 to tak jakbyś mnożył liczbę przez kolejne potęgi liczby 2.a = b << 1 oznacza a = b * 2^1 czyli a = b * 2 a = b << 2 oznacza a = b * 2^2 czyli a = b * 4 a = b << 3 oznacza a = b * 2^3 czyli a = b * 8 Edytowano Październik 9, 2015 przez Bartosz Wójcik Cytuj Link do komentarza Udostępnij na innych stronach More sharing options...
eXray Napisano Czerwiec 12, 2013 Zgłoś Udostępnij Napisano Czerwiec 12, 2013 Do szybkiego sprawdzania snippetów polecam Ideone - pozwala na kompilację kodu w językach popularnych,a także tych mniej :) Twój kod zwrócił 4, ponieważ operator << to nic innego jak bitowe przesunięcie w lewo. Czyli binarnie 001 zostało przesunięte o 2 miejsca w lewo, co w wyniku dało binarnie 100. Cytuj Link do komentarza Udostępnij na innych stronach More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.