Avatar billede tzr Nybegynder
29. april 2002 - 23:27 Der er 4 kommentarer og
2 løsninger

hvad gør >>

var1 >> 1;

hvad gør >> ?

/Kenneth
Avatar billede laffe Nybegynder
29. april 2002 - 23:28 #1
"Flytter over i"
"pipe over i"
Avatar billede tzr Nybegynder
29. april 2002 - 23:31 #2
kan du forklare yderligere ?

hvis der står
var2 = var1 >> 1;
hvad gør den så ?
Avatar billede laffe Nybegynder
29. april 2002 - 23:35 #3
Det var forkert det jeg sagde.

>> er en bit operator.

f.eks

i=16;

i = i >> 1; flyt alle bit i variablen 'i' en plads til højre.Det er det samme som at dividere med 2.
Avatar billede laffe Nybegynder
29. april 2002 - 23:35 #4
altså bliver i=8
Avatar billede tson Nybegynder
29. april 2002 - 23:38 #5
>> kan overloades så det er lidt svært (læs: umuligt) at siger hvad den gør i ovenstående tilfælde da du ikke har skrevet hvad typen for var1 er.

Oprindeligt kommer >> fra C og kaldes right-shift operatoren, og den kan anvendes på integers (også i C++). Det den gør er at skifte (dvs flytte) bitmønstret for integer variablen x pladser:

altså:

8 >> 1; // giver 4
8 >> 2; // giver 2

Det er nemmest at se med binære tal hvad der sker:

0b111 >> 1 // giver 0b11 altså 3(det som ryger ud over højre ende forsvinder)

(0b111 >> 1) << 1; // giver altså 0b110 altså 6 da 1-tallet der røg ud over kanten er væk :-)

Giver det mening?

I C++ bruges den faktisk mest i forbindelse med iostreams. Iostreams er "datakanaler" man kan skrive til eller læse fra, som f.eks. filer, konsollen, netværksconnections eller sågar strenge. F.eks.


#include <iostream>

int main() {
  std::cout << "hej med dig" << std::endl; // udskriver hej med dig på konsollen og sætter et newline efter
  int anInt;
  std::cin >> anInt; // indlæser en integer fra konsollen

}
Avatar billede tzr Nybegynder
29. april 2002 - 23:43 #6
ok, men hvis det er næsten det samme som at dividere med 2, så er det jo det :)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester