Werte aus Klammern extrahieren !



  • Danke .filmor , aber hab trotzdem keine Ahnung wie ich die R , G und B Werte damit rausbekomme , hab nich so viel mit den Bitwise Operatoren am Hut

    Der RGB15 Makro sieht übrigens so aus

    #define RGB15(r,g,b)  ((r)|((g)<<5)|((b)<<10))
    

    Trotzdem schon mal danke 👍



  • Mich würde interessieren was du da programmierst, wenn du sowohl ein Problem hast eine Frage zu formulieren als auch die Antworten nicht verstehst. Ein paar Grundlagen zu den Operatoren schaden jedenfalls nie. Die Antworten nachzuvollziehen ist die Gelegenheit was dazu zu lernen 😉 .



  • Ich fands eigentlich ziemlich eindeutig, aber hier noch mal:

    unsigned farbe = RGB15(8,2,4);
    
    // Entspricht a in meinem Beispiel
    unsigned rot = farbe >> 10;
    
    // Entspricht b
    unsigned gruen = (farbe & 0x3E0) >> 5;
    
    // Entspricht c
    unsigned blau = farbe& 0x1F;
    

    Und von nun an bitte nur noch eindeutige, klare und direkte Fragen. ("Das versteh ich nicht" fällt da zum Beispiel nicht drunter).



  • Es war auch recht eindeutig , nur habe ich beim der Kompilierung Fehlernachrichten bekommen und ich dachte es liegt daran , das ich etwas falsch gemacht hab aber mit deinem Code habe ich die Selben fehler bekommen :

    error C2143: Syntaxfehler : Fehlendes ';' vor '>>'
    error C2143: Syntaxfehler : Fehlendes ';' vor '>>'

    [Frage]
    Wie kann ich diese beiden Fehler korregieren ?

    error C2143: Syntaxfehler : Fehlendes ';' vor '>>'
    error C2143: Syntaxfehler : Fehlendes ';' vor '>>'

    Die Fehler traten bei diesem Code ein !

    unsigned farbe = RGB15(8,2,4);
    
    // Entspricht a in meinem Beispiel
    unsigned rot = farbe >> 10;
    
    // Entspricht b
    unsigned gruen(farbe & 0x3E0) >> 5;
    
    // Entspricht c
    unsigned blau = farbe& 0x1F;
    

    [/Frage]



  • Nach gruen bitte ein = (Sorry mein Fehler, habs oben korrigiert).



  • Danke , jetzt Funktioniert alles

    Könntet ihr mir auch bitte bei den Folgenden Fehlern helfen , ich verstehe nicht , was sie Bedeuten ?

    expected unqualified-id before '||' token
    expected primary-expression before '||' token
    invalid type argument of 'unary *'
    expected primary-expression before '||' token

    Benutzt wurde einen g++ compiler : make.exe

    Die Fehler traten bei diesem Code ein !

    void FillBackbufferWithPixelRGBA (int x , int y , uint16 color , int Alpha , bool AllowOverwrite , rendermode Rendermode){
    	int FieldPos = ( y * SCREEN_WIDTH ) + x;
    	uint16 OldBufferInfo = Backbuffer[FieldPos];
    	uint16 NewBufferInfo = color;
    
    	unsigned br ;
    	unsigned bg ;
    	unsigned bb ;
    
    	unsigned or = OldBufferInfo >> 10;
    	unsigned og = (OldBufferInfo & 0x3E0) >> 5;
    	unsigned ob = OldBufferInfo & 0x1F;
    
    	unsigned nr = NewBufferInfo >> 10;
    	unsigned ng = (NewBufferInfo & 0x3E0) >> 5;
    	unsigned nb = NewBufferInfo & 0x1F;
    
    	switch (Rendermode){
    		case solid:
    				br = (or * nr) / 2;
    				bg = (og * ng) / 2;
    				bb = (ob * nb) / 2; 
    				NewBufferInfo = RGB15( br , bg , bb);
    				break;
    		case additive:
    				br = or + nr;
    				bg = og + ng;
    				bb = ob + nb; 
    				NewBufferInfo = RGB15( br , bg , bb);
    				break;
    			}
    
    	}
    


  • unsigned schrieb:

    Es war auch recht eindeutig , nur habe ich beim der Kompilierung Fehlernachrichten bekommen und ich dachte es liegt daran , das ich etwas falsch gemacht hab aber mit deinem Code habe ich die Selben fehler bekommen :

    error C2143: Syntaxfehler : Fehlendes ';' vor '>>'
    error C2143: Syntaxfehler : Fehlendes ';' vor '>>'

    [Frage]
    Wie kann ich diese beiden Fehler korregieren ?

    error C2143: Syntaxfehler : Fehlendes ';' vor '>>'
    error C2143: Syntaxfehler : Fehlendes ';' vor '>>'

    Die Fehler traten bei diesem Code ein !

    unsigned farbe = RGB15(8,2,4);
    
    // Entspricht a in meinem Beispiel
    unsigned rot = farbe >> 10;
    
    // Entspricht b
    unsigned gruen(farbe & 0x3E0) >> 5;
    
    // Entspricht c
    unsigned blau = farbe& 0x1F;
    

    [/Frage]

    alda, willst du uns verar....

    wenn du bei diesen paar zeilen code nicht selbst siehst das eine anweisung nicht mit einem ";" abgeschlossen ist, dann weiss ich auch nicht

    nimm ein buch, tuto zur hand, oder wie auch immer, aber poste nicht wegen jeden furz hier rein, mit der begründung

    "versteh ich nicht"

    heul hier nicht rum, sondern LERNE ERSTMAL DIE GRUNDLAGEN

    und die grundlagen des suchens

    wenn mir einer sagt

    "bit-shift" und ich hab keine ahnung, poste ich nicht gleich rum, sondere benutze z.b. google und schau mir da erstmal die erklärungen an, und wenn ich es immer noch nicht kapiere, dann stelle ich konkrete fragen zu bit-shifts was ich da nicht kapiert habe

    sorry, das es so drastisch ist, aber sonst kapierst du es nie.

    ich bitte auch die anderen den nicht mehr zu helfen! ( ausser er stellt man konkret fragen )

    hausaufgaben o.ä. werden hier nicht gelöst!



  • ajax das "Es war auch recht eindeutig" hat sich auf .filmor bezogen

    Falls du nix besseres zu hast , als dich zu beschweren , dann poste nich so einen Müll . Wenn ich was ins Forum schreibe , dann rechne ich eigentlich mit Hilfe und nicht mit irgendwelchen ... Leuten die sich darüber beschweren das ich nich mit jeder Feinheit in C++ gelernt hab . Ich hab erst vor einer Woche angefangen und im Tutorial , das ich gelesen habe , stand nichts über die Bitwise Operatoren und das die nicht umbedingt notwendig wären

    Anstatt so einen Mist wie da Oben zu posten hättest du mir ja n Tut empfehlen können , aber nein , schei** auf die Hilfsbereitschaft



  • unsigned schrieb:

    ajax das "Es war auch recht eindeutig" hat sich auf .filmor bezogen

    Leuten die sich darüber beschweren das ich nich mit jeder Feinheit in C++ gelernt hab . Ich hab erst vor einer Woche angefangen und im Tutorial , das ich gelesen habe , stand nichts über die Bitwise Operatoren und das die nicht umbedingt notwendig wären

    ja ja, entschuldige dich somit, echt coole einstellung im leben 👍
    und dann gleich runflamen wie ein kiddy

    das beste ist

    unsigned schrieb:

    das ich nich mit jeder Feinheit in C++ gelernt hab

    wow, am schluss ein ";" zu machen für abschluss einer anweisung

    wow geile, "Feinheit". ist echt "high level skilz" ( um es in deiner sprache auszudrücken )



  • unsigned: Vollidiot



  • PS:

    Achja

    das hat sich NICHT auf filmor bezogen, passiert jeden mal ein semicolon in der eile zu posten!

    es hat sich auf dich bezogen!!! was anhand der QUOTE auch gut rüberkommt! Da du so einen fehler

    1. nicht selber siehst
    2. die compilermeldung nicht checkst ( aber ist ja eine "feinheit" )



  • Aha dann such ich mir halt ein anderes forum.

    Und tschüss !



  • unsigned schrieb:

    Aha dann such ich mir halt ein anderes forum.

    Und tschüss !

    ja, ok, mach ich

    danke für den tipp 👍 👍 👍

    PS: es heisst eigentlich

    Aha dann such ich mir halt ein anderes forum;



  • Der Beitrag war nicht von mir;



  • unsigned schrieb:

    Aha dann such ich mir halt ein anderes forum.
    Und tschüss !

    Diesen Beitrag hier meine ich;
    Ich hoffe , ich habe kein ";" vergessen;



  • bool ja;
    Wo bleiben die Beitraege; //Schade um die Sonderzeichen
    Ich hab doch sicher irgendwo vergessen ";" zu setzen;

    if (ja){
    sagt mir bescheid;

    -------------------------------------------

    Kompilierung läuft...

    http://www.c-plusplus.net/forum/posting-var-mode-is-reply-and-t-is-134487.html : fatal error C1004: Unerwartetes Dateiende gefunden

    Fehler beim Ausführen von cl.exe.
    Beitrag : 1 Fehler : 0 Warnungen

    -------------------------------------------



  • Lass dich von den unregistrierten nicht verarschen.

    http://www.pronix.de/pronix-676.html

    mfg.



  • Danke 👍



  • .filmor schrieb:

    unsigned farbe = RGB15(8,2,4);
    
    // Entspricht a in meinem Beispiel
    unsigned rot = farbe >> 10;
    
    // Entspricht b
    unsigned gruen = (farbe & 0x3E0) >> 5;
    
    // Entspricht c
    unsigned blau = farbe& 0x1F;
    

    So , ich habe jetzt den Makro für RGB15 gefunden :

    #define RGB15(r,g,b)  ((r)|((g)<<5)|((b)<<10))
    

    Heist das nicht , das die Werde in umgekehrter Reihnfolge gespeichert werden , also

    unsigned farbe = RGB15(8,2,4);
    
    // Entspricht a in meinem Beispiel
    unsigned blau = farbe >> 10;
    
    // Entspricht b
    unsigned gruen = (farbe & 0x3E0) >> 5;
    
    // Entspricht c
    unsigned rot = farbe& 0x1F;
    

    PS : Bitwise Operations sind geil 😃


Anmelden zum Antworten