JLI Spieleprogrammierung Foren-Übersicht JLI Spieleprogrammierung

 
 FAQFAQ   SuchenSuchen   MitgliederlisteMitgliederliste   BenutzergruppenBenutzergruppen 
 medals.php?sid=d5742ed0b84d9ab4867e773e8902d7f9Medaillen   RegistrierenRegistrieren   ProfilProfil   Einloggen, um private Nachrichten zu lesenEinloggen, um private Nachrichten zu lesen   LoginLogin 

Mir fremde Zeichen

 
Neues Thema eröffnen   Neue Antwort erstellen    JLI Spieleprogrammierung Foren-Übersicht -> Entwicklung
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen  
Autor Nachricht
Leax
Mini JLI'ler



Anmeldedatum: 15.07.2003
Beiträge: 43

Medaillen: Keine

BeitragVerfasst am: 03.09.2003, 15:19    Titel: Mir fremde Zeichen Antworten mit Zitat

Code:
void DeterminePixelFormat(LPDIRECTDRAWSURFACE7 lpDDSurface)
{
    // Pixelformat bestimmen
    DDPIXELFORMAT ddpf;
    ddpf.dwSize = sizeof(ddpf);
    lpDDSurface->GetPixelFormat(&ddpf);

    // Werte für Rot bestimmen      
    while(0 == (ddpf.dwRBitMask & 1))   
    {      
       ddpf.dwRBitMask >>= 1;
       PosRed++;   
    }   
    ShiftRed = (ddpf.dwRBitMask == 31) ? 3 : 2;   

    // Werte für Grün bestimmen   
    while(0 == (ddpf.dwGBitMask & 1))   
    {      
       ddpf.dwGBitMask >>= 1;      
       PosGreen++;   
    }   
    ShiftGreen = (ddpf.dwGBitMask == 31) ? 3 : 2;   

    // Maske für blau beginnt immer bei 0
    PosBlue = 0;
    ShiftBlue = (ddpf.dwBBitMask == 31) ? 3 : 2;           
}



so der Quellcode ist aus dem JLI Buch und enthält die mir fremden Befehle:

1.

Code:
while(0 == (ddpf.dwRBitMask & 1))


was bedeutet denn das eine & Zeichen?

2.

Code:
ddpf.dwRBitMask >>= 1;


was bedeutet denn >>= ?


3.

Code:
ShiftRed = (ddpf.dwRBitMask == 31) ? 3 : 2;


ich weiß nur, dass das ? Zeichen eine Abkürzung für eine IF Schleife ist, aber wie sieht diese hier genau aus?
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
abc_d
JLI Master Trainee


Alter: 34
Anmeldedatum: 27.01.2003
Beiträge: 615

Medaillen: Keine

BeitragVerfasst am: 03.09.2003, 15:36    Titel: Antworten mit Zitat

<< ist die bitweise verschiebung nach links

9 << 1=38

Die zahl 9 ist binär:

1001

2 stellen nach links:

100100 ist 36


& ist ein bitweises und:

Wenn das bit auf der rechten und das Bit auf der linken seite 1 ist ist das ergebnis 1 andernfalls 0:

1001 & 1000 = 1000


[edit]

>>= verschiebt die linke Variable bitweise nach rechts
anwendung:

foo>>=6;



also das gleiche wie foo=foo>>6;
(das = ist gleich wie bei +=)
_________________
http://mitglied.lycos.de/sarti/linuxisevil.gif Linux is evil - get the fact.

Never touch a running System - der Systemling


Zuletzt bearbeitet von abc_d am 06.09.2003, 08:45, insgesamt einmal bearbeitet
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden
Leax
Mini JLI'ler



Anmeldedatum: 15.07.2003
Beiträge: 43

Medaillen: Keine

BeitragVerfasst am: 03.09.2003, 15:54    Titel: Antworten mit Zitat

und das Fragezeichen
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Hazel
JLI MVP
JLI MVP


Alter: 39
Anmeldedatum: 19.07.2002
Beiträge: 1761

Medaillen: Keine

BeitragVerfasst am: 03.09.2003, 16:01    Titel: Antworten mit Zitat

Das ist eine verkürzte If-Anweisung.

(bedingung) ? (then-teil) : (else-teil)
_________________
*click* Dabuu!?
Twitter: http://twitter.com/Ollie_R
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Beiträge der letzten Zeit anzeigen:   
Neues Thema eröffnen   Neue Antwort erstellen    JLI Spieleprogrammierung Foren-Übersicht -> Entwicklung Alle Zeiten sind GMT
Seite 1 von 1

 
Gehe zu:  
Du kannst keine Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum nicht antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.


Powered by phpBB © 2001, 2005 phpBB Group
Deutsche Übersetzung von phpBB.de

Impressum