Register for your free account! | Forgot your password?

Go Back   elitepvpers > Coders Den > C/C++
You last visited: Today at 17:12

  • Please register to post and access all features, it's quick, easy and FREE!

Advertisement



Was bedeutet diese codezeile?

Discussion on Was bedeutet diese codezeile? within the C/C++ forum part of the Coders Den category.

Reply
 
Old   #1
 
lolxdflyx3's Avatar
 
elite*gold: 0
Join Date: Jul 2011
Posts: 331
Received Thanks: 65
Was bedeutet diese codezeile?

Hi,
was bedeutet oder bring die letzte Codezeile?
Code:
        uint16_t scancode; //variable scancode wird erstellt
        scancode = inb(0x60); //Scancode wird ausgelesen
        scancode &= ~0x80; //???
lolxdflyx3 is offline  
Old 10/11/2013, 19:02   #2


 
MrSm!th's Avatar
 
elite*gold: 7110
Join Date: Jun 2009
Posts: 28,902
Received Thanks: 25,407
0x80 wird binär negiert und dann binär mit scancode UND-verknüpft.
Das Ergebnis landet wieder in scancode.

Beispiel:
Code:
 
unsigned short scancode = 1;
unsigned short tmp = ~0x80; // 00000000 10000000 - > 11111111 01111111
scancode &= tmp;
//scancode == 00000000 00000001
MrSm!th is offline  
Thanks
1 User
Old 10/11/2013, 19:03   #3
 
Logtetsch's Avatar
 
elite*gold: 192
Join Date: May 2009
Posts: 2,227
Received Thanks: 3,262
Quote:
Originally Posted by lolxdflyx3 View Post
Hi,
was bedeutet oder bring die letzte Codezeile?
Code:
        uint16_t scancode; //variable scancode wird erstellt
        scancode = inb(0x60); //Scancode wird ausgelesen
        scancode &= ~0x80; //???
Scancode wird ausgelesen? Schau nochmal richtig hin. Wofür soll "inb" sein?
Logtetsch is offline  
Old 10/11/2013, 19:33   #4
 
lolxdflyx3's Avatar
 
elite*gold: 0
Join Date: Jul 2011
Posts: 331
Received Thanks: 65
Quote:
Originally Posted by Logtetsch View Post
Scancode wird ausgelesen? Schau nochmal richtig hin. Wofür soll "inb" sein?
ähm... so wie ich das verstanden habe wird der port 0x60 ausgelesen und in die Variable scancode geschrieben
Wobei jetzt wo du es sagst bin ich mir nicht mehr sicher.

EDIT: Es ließt den Iput von dem Port 0x60 (Quelle: )
lolxdflyx3 is offline  
Old 10/11/2013, 19:46   #5
 
Logtetsch's Avatar
 
elite*gold: 192
Join Date: May 2009
Posts: 2,227
Received Thanks: 3,262
Code:
scancode = inb(0x60); //Scancode wird ausgelesen
Der Variable 'scancode' wird etwas zugewiesen, aber es wird nichts aus 'scancode' gelesen. Würde auch keinen Sinn machen. Google mal nach 'L-Value' und schau dir nochmal an, was genau Operatoren/ Operanden sind →
Logtetsch is offline  
Old 10/11/2013, 20:03   #6
 
Dr. Coxxy's Avatar
 
elite*gold: 0
Join Date: Feb 2011
Posts: 1,206
Received Thanks: 736
um es mal etwas verständlicher zu formulieren:
das 8. bit von rechts wird aus "scancode" gelöscht (ist also danach 0) - der rest von scancode wird belassen wie er ist.#

EDIT:
Logtetsch das ist schwachsinn, die formulierung ist vollkommen in ordnung, ein scancode wird ausgelesen und der gleichnamigen variable zugewiesen.

EDIT2:
das ist übrigens normal so bits zu setzen und zu clearen, meistens aber mit #define konstanten anstatt einfach direkt 0x80.

bit setzen:
Code:
#define SOME_BIT 0x80
value |= SOME_BIT; // das 8. bit auf 1 setzen - den rest unangetastet lassen
value &= ~SOME_BIT; // das 8. bit auf 0 setzen - den rest unangetastet lassen
if (value & SOME_BIT) // testen ob das 8. bit auf 1 gesetzt ist.
Dr. Coxxy is offline  
Old 10/11/2013, 20:03   #7
 
lolxdflyx3's Avatar
 
elite*gold: 0
Join Date: Jul 2011
Posts: 331
Received Thanks: 65
Quote:
Originally Posted by Logtetsch View Post
Code:
scancode = inb(0x60); //Scancode wird ausgelesen
Der Variable 'scancode' wird etwas zugewiesen, aber es wird nichts aus 'scancode' gelesen. Würde auch keinen Sinn machen. Google mal nach 'L-Value' und schau dir nochmal an, was genau Operatoren/ Operanden sind →
Ich meint auch dass der ioPort der Tastatur ausgelesen wird und in Form von Scancode in die Variable scancode geschrieben wird
lolxdflyx3 is offline  
Old 10/11/2013, 20:05   #8
 
Schlüsselbein's Avatar
 
elite*gold: 0
Join Date: Feb 2013
Posts: 1,137
Received Thanks: 869
Er liest den Wert an der Stelle 0x60 so wies aussieht. Bei mC Programmierung ist es durchaus gängige Praxis, so direkt von einem I/O-Port zu lesen.

Für mich liest sich der Code so: Er liest ein Word an Port 0x60 ein und löscht anschließend das 8. Bit.

Edit: bin nur mobil online und so ist es wirklich unübersichtlich - kann also gut sein dass ich was übersehe. Steinigt mich, falls es so sein sollte.
Schlüsselbein is offline  
Old 10/11/2013, 20:31   #9
 
Logtetsch's Avatar
 
elite*gold: 192
Join Date: May 2009
Posts: 2,227
Received Thanks: 3,262
Quote:
Originally Posted by Dr. Coxxy View Post
ein scancode wird ausgelesen und der gleichnamigen variable zugewiesen.
Hmm, dass ich das nicht berücksichtigt habe
Logtetsch is offline  
Old 10/12/2013, 18:53   #10
 
lolxdflyx3's Avatar
 
elite*gold: 0
Join Date: Jul 2011
Posts: 331
Received Thanks: 65
Hi,
ich hab noch ne Frage dazu:
Was genau ist für das binär zuständig?
Also wenn ich jetzt zum Beispiel mit einer if-Schleife abfragen will ob eine Variable einem gewissen binärcode entspricht. Wie sage ich das die Zahl binär interpretiert werden soll?
lolxdflyx3 is offline  
Old 10/12/2013, 22:37   #11


 
MrSm!th's Avatar
 
elite*gold: 7110
Join Date: Jun 2009
Posts: 28,902
Received Thanks: 25,407
Auf dem PC ist alles binär.

MrSm!th is offline  
Thanks
1 User
Old 10/13/2013, 00:59   #12
 
Tyrar's Avatar
 
elite*gold: 0
Join Date: Oct 2008
Posts: 1,637
Received Thanks: 1,119
Quote:
Originally Posted by lolxdflyx3 View Post
Hi,
ich hab noch ne Frage dazu:
Was genau ist für das binär zuständig?
Also wenn ich jetzt zum Beispiel mit einer if-Schleife abfragen will ob eine Variable einem gewissen binärcode entspricht. Wie sage ich das die Zahl binär interpretiert werden soll?
Du meinst vermutlich, wie die Zahlen dargestellt werden. Da alles binär interpretiert wird brauchst du dir darum keine Gedanken machen.
(1 << 7) ist das gleiche wie 0x80, ist im Prinzip nur eine Sache der Übersicht.

:P
Tyrar is offline  
Thanks
1 User
Reply

Tags
& ~, &=, c++


Similar Threads Similar Threads
was bedeutet diese meldung?
06/22/2012 - Hardware Discussions / Questions - 4 Replies
hallo com ich hab grad wieder etwas übertaktet jetz stand beim testen das auf der rechten seite http://img5.fotos-hochladen.net/uploads/hmn2a3oiy pdl.png was heißt den gpu throttling? außerdem stimmen die ganzen werte nicht die ich eingegebn hab http://img5.fotos-hochladen.net/uploads/vhgfhmj5c 8vy7ot.png
Was bedeutet diese Fehlermeldung?
11/06/2011 - Alliance of Valiant Arms - 10 Replies
Früher spielte ich Ava 3 wochen lang ohne probleme beim einloggen oder sonstiges, jedoch mache ich jetzt Ava auf, dann warte ich und es wird alles schwarz und dort steht dann: failed to authentication.Please re-connect was kann man dagegen machen? schon alles versucht :( ich bitte aufrichtig um Hilfe.Danke im Vorraus
Was bedeutet diese Fehlermeldung?
10/23/2011 - Metin2 Private Server - 19 Replies
WarpSet: cannot find map location index 0 x 30720000 y 120320000 name ist aus der syserr serverside was bedeutet diese? MFG
Was bedeutet diese Meldung?
04/29/2011 - Metin2 Private Server - 6 Replies
Hallo epvp, da ich nun mitlerweile eine syslogdatei habe die 9 gigabyte groß ist und andauernd der speicher des servwers voll ist habe ich mal nachgeschaut und mir die syslogg runtergeladen. Die Syslog beinhaltet immer wieder die gleiche Fehlermeldung nur mit anderen Mobs. Hier ein paar ausschnitte Apr 28 22:10:46 :: no sectree for spawn at 141717 63157 mobvnum 2065 mapindex 200SY SERR: Apr 28 22:10:46 :: SpawnGroup: NOT_EXIST_GROUP_VNUM(0) Apr 28 22:10:46 :: no sectree for spawn at 112509...
WAS BEDEUTET DIESE MELDUNG?!
08/03/2009 - Metin2 Private Server - 8 Replies
seit ca. 2 stunden erhalte ich, wenn ich mich bei newlongju einlogge immer diese meldung: http://www.bilder-upload.eu/show.php?file=rMossKF lEBfHQxz.jpg kann mir irgendjemand sagen was sie zu bedeuten hat? danke im vorraus



All times are GMT +1. The time now is 17:13.


Powered by vBulletin®
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
SEO by vBSEO ©2011, Crawlability, Inc.
This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.

Support | Contact Us | FAQ | Advertising | Privacy Policy | Terms of Service | Abuse
Copyright ©2025 elitepvpers All Rights Reserved.