Hallo!
Ich habe fast k.A. über Asuro, aber 0xnn ist für mich eine zweistellige Hexadezimale Zahl von 00h bis FFh und 0x davor wird als Kennzeichen fur Hexzahl (anstatt h) benutzt. Fazit: 0x01 = 1h bedeutet 1d, 0x02 = 2h also 2d und 0xFF eben 256(d)ezimal.
MfG (Mit feinem Grübeln) Wir unterstützen dich bei deinen Projekten, aber wir entwickeln sie nicht für dich. (radbruch) "Irgendwas" geht "irgendwie" immer...(Rabenauge) Machs - und berichte.(oberallgeier) Man weißt wie, aber nie warum. Gut zu wissen, was man nicht weiß. Zuerst messen, danach fragen. Was heute geht, wurde gestern gebastelt. http://www.youtube.com/watch?v=qOAnVO3y2u8 Danke!
hmm.. verstehe ich nicht so ganz , entschuldige
Korrektur, leider.
0xFF ist die hexadezimale Zahl für dezimal 255.
Ergänzung:
-) der Computer rechnet mit Dualzahlen. Diese bestehen aus Ziffern mit den Werten 0 oder 1.
-) Eine einzelne Dualziffer ist ein Bit (ein "Biss-chen")
-) größere Zahlen werden z.B. als Byte dargestellt, das ist eine Folge von 8 Bits.
-) diese Dualzahlen sind im Prinzip wie die Dezimalzahlen aufgebaut. Die Basis ist aber nicht ne Potenz von zehn sondern von 2.
-) in der Dualzahl 0000 0101 steht das erste, das ganz rechte Bit für die nullte Potenz von 2, das ist eine Eins, die dritte von rechts ist sinngemäß die zweite Potenz von 2, also 4. Diese Dualzahl (gelegentlich als 0b00000101 geschrieben - b für binär) hat also den wert von 1 plus 4 - gleich fünf.
-) die Dualzahl ist lang und schlecht lesbar. DESHALB hat sie irgendjemand mal in zwei Hälften - in zwei Nibbel - aufgeteilt. Diese beiden Hälften wurden in Ziffern zur Basis Sechzehn (16, hexadezimal) dargestellt, in die Werte 0 bis F .. 0=0 ... 9=9, 10=A, 11=B, 12=C ... 15=F. Die Zahl oben ist also hexadezimal 0x04. Sprich: das linke Nibbel wird so behandelt, als sei es selbst eine Binärzahl zwischen 0 ... 15.
-) Beispiel: 0b0100 1100 => dritte von rechts: 2^2=4, vierte 2^3=8 - also zusammen 12, siebente von rechts : 2^6=64 ABER wenn ich NUR das Nibbel, nur diese linke Hälfte betrachte, dann ist dessen Wert 2^2=4. Nun haben wir alles für die hexadezimale Zahl:
-) 0b0100 1100 wird zu 0x4C (hex 4C oder dezimal 76).
-) Und nun kommt ein kleiner Gedankensprung: um das linke Nibbel in einen "ordentlichen" Dezimalwert zu übersetzen muss man seinen Nibbelwert - hier also dezimal 4 - mit sechzehn multiplizieren. das gibt die 64. Dazu die 12 vom rechten Nibbel - macht 76.
Klar, klingt alles s..kompliziert. Das gibt sich *gg*
Siehe auch hier Dualzahlen (klick) und Deine eigentliche Frage Hexadezimalsystem (klick)
Ok??
Geändert von oberallgeier (05.12.2014 um 14:20 Uhr)
Ciao sagt der JoeamBerg
Schon wieder ein Zeichen, dass ich älter werde. Herzlichen Dank fürs Korriegieren.
Siehe eventuell das noch dazu: http://rn-wissen.de/wiki/index.php/P...2C_Bin_und_Hex .
MfG (Mit feinem Grübeln) Wir unterstützen dich bei deinen Projekten, aber wir entwickeln sie nicht für dich. (radbruch) "Irgendwas" geht "irgendwie" immer...(Rabenauge) Machs - und berichte.(oberallgeier) Man weißt wie, aber nie warum. Gut zu wissen, was man nicht weiß. Zuerst messen, danach fragen. Was heute geht, wurde gestern gebastelt. http://www.youtube.com/watch?v=qOAnVO3y2u8 Danke!
Vielen Dank erstmal für die Information
Aber was bedeutet das im Zusammenhang mit dem Code?
Einfach Zahlen in Befehlen.
MfG (Mit feinem Grübeln) Wir unterstützen dich bei deinen Projekten, aber wir entwickeln sie nicht für dich. (radbruch) "Irgendwas" geht "irgendwie" immer...(Rabenauge) Machs - und berichte.(oberallgeier) Man weißt wie, aber nie warum. Gut zu wissen, was man nicht weiß. Zuerst messen, danach fragen. Was heute geht, wurde gestern gebastelt. http://www.youtube.com/watch?v=qOAnVO3y2u8 Danke!
Wenn du dir die Definition der Hexadezimalzahlen nochmal ansiehst stellst du fest: 0x01 ist 1, 0x02 ist 2, 0x04 ist 4, 0x08 ist 8, 0x10 ist 16 etc. - Kurz: 2^0, 2^1, 2^2 etc.
Das ist also genau der Zahlenwert, den die einzelnen Bits in der Variable "sw" darstellen. Die Zahlen werden als Bitmaske verwendet, das bedeutet, es werden aus "sw" genau die Bits betrachtet, die in der Maske gesetzt sind, im Beispiel von 0x08 ist das das vierte Bit (Wert 2^3 = 8, das niedrigste Bit ist 2^0 = 1). Durch die "und"-Verknüpfung von "sw" und 0x08 bleibt also nur besagtes Bit stehen, wenn es auch in "sw" gesetzt war.
mfG
Markus
Tiny ASURO Library: Thread und sf.net Seite
Markus hat es ja schon vorgestellt. Hier gibt es ein paar Beispiele dazu, die veranschaulichen, was bei Bitmanipulationen geschieht.
Ciao sagt der JoeamBerg
Lesezeichen