Skocz do zawartości
grzesiekf

[c++] Przesunięcie >> oraz << - do czego służy ?

Rekomendowane odpowiedzi

Witam,

ucze sie właśnie podstaw cpp i doszedlem do takiej rzeczy jak operatory bitowe i przesunięcie w prawo i lewo. Mam pytanie do czego się tych przesunięć używa i co one dają ?? tylko nie mówić że do wypisywania na ekran i wpisywania z klawiatury bo nie o to mi chodzi.

pozdrawiam

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

Żeby zobaczyć jak to działa wystarczy taki malutki kod

 

#include <iostream>using namespace std;int main(){  unsigned int a=5;  cout<<(a<<3); /*pomnożenie 5 przez 8 i wypisanie wyniku. Ta trójka wzieła się stąd że 2 do potęgi 3 to 8*/  return 0;}
Zapewne jeszcze jak chodziłeś do podstawówki uczono was że żeby pomnożyć liczbe przez wielokrotności 10 wystarczy przesunąć przecinek o odpowiednią ilość cyfr w prawo. Tu jedyną różnicą jest to że komputer operuje w systemie binarnym przez co przesunięcie bitów powoduje pomnozenie,podzielenie przez wielokrotność dwójki. Ta sztuczka działa jedynie na liczbach całkowitych(int, short, long) tak więc dzielenie będzie powodowało odcięcie części ułamkowej.

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

a dokładniej zapis a<<2 wziął sie z assemblera i poeracji przesuniecia bitowego... jesli rozpiszes sobie liczba powiedzmy 6 bitowo... (8bit) a=00000110B i pzresuniesz o 2 bity w lewo (a<<2) to otrzymasz coś takiego a=00011000 czyli 6*2^2=24. Jak zaznaczył Megabyte chodzi tu o szybkie mnozenie lub dzielenie. Na ogół jednak operacje bitowe wystepują tylko w krytycznych sekcjach programu... i oczywscie na laboratoriach w informatyki 1 na studiach.. zeby zagmawtwać sprawe.. i dać studentowi do myslenia :lol:

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

Dołącz do dyskusji

Możesz dodać zawartość już teraz a zarejestrować się później. Jeśli posiadasz już konto, zaloguj się aby dodać zawartość za jego pomocą.

Gość
Dodaj odpowiedź do tematu...

×   Wklejono zawartość z formatowaniem.   Przywróć formatowanie

  Dozwolonych jest tylko 75 emoji.

×   Odnośnik został automatycznie osadzony.   Przywróć wyświetlanie jako odnośnik

×   Przywrócono poprzednią zawartość.   Wyczyść edytor

×   Nie możesz bezpośrednio wkleić grafiki. Dodaj lub załącz grafiki z adresu URL.

Ładowanie


×
×
  • Dodaj nową pozycję...