Noch etwas genauer:
Es gibt unterschiedliche Zahlensysteme.
Wir als Menschen haben 10-Finger daher rechen wir von 1 bis 10, so wie wir es gewohnt sind. (Gut es gibt auch Menschen mit 11 oder mehr Fingern, die zählen (gelten) aber nicht).
Der Computer (konnte) nur 8-Bit und die lassen sich eben kürzer als Hexadezimalzahlen schreiben.
Das dezimale Zahlensystem hat Ziffern von 0 bis 9 (0123456789) Maximum = 9 danach erfolgt ein Übertrag
Das binäre Zahlensystem hat nur die Ziffern 0 oder 1 (01) Maximum = 1 danach erfolgt ein Übertrag
Das hexadezimale Zahlensystem hat die Ziffern von 0 bis F (0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F) Maximum = F danach erfolgt ein Übertrag
Binär:
Ein Byte besteht aus 8 Bit (ist ja bekannt oder)
Das niedrigste Bit ist rechts und wird Bit 0 genannt, von rechts nach links (also so <--- rum) haben wir dann Bit0, Bit1, Bit2,... bis Bit7 (das ist dann das achte Bit, da man mit 0 begonnen hat).
(Das ist jetzt echt saublöd zum darstellen, da wir ja von links nach rechts schreiben)
Jedes Bit entspricht einem Wert (Tabelle) von 2^n (2HOCHn) wobei n die Bitnummer ist (Probiers mal mit dem Taschenrechner aus)
- Noch einfacher ist es mit dem Windows-Taschenrechner, schalte auf Wissenshaftlich um, stelle auf DEZ geben deinen Wert ein und schalte dann auf BIN oder HEX. Das geht auch in alle anderen Richtungen (Zahlenformate), ganz wie du willst.
Hexadezimal:
wenn man nun ein Byte in der mitte Teilt erhält man zwei Nibble(s)
Mit 4-Bit kann man von 0-15 Zählen oder in HEX 0..F (wie von 021aet04 beschrieben)
So nun nimmt man einfach das untere Nibble und notiert dessen wert (4-Bit) und das gleiche macht man mit dem oberen Nibble, wobei man wieder mit 0 beginnt und nicht dem Wert wie er an dieser Stelle gelten würde (der richtige Wert ergibt sich automatisch durch den Übertrag).
Siehe Da:
In so ziemlich jeder Programmiersprache kann man die Werte in der gewünschten Notation schreiben.Code:170dez = 10101010bin = AAhex Name Bit7 Bit6 Bit5 Bit4 Bit3 Bit2 Bit1 Bit0 Wert 128 64 32 16 8 4 2 1 Formel 2^7 2^6 2^5 2^4 2^3 2^2 2^1 2^0 (2^0 = 1) Beispiel Binär 1 0 1 0 1 0 1 0 = 10101010 bin Dez. 128 + 0 + 32 + 0 + 8 + + + 2 + 0 = 170 dez Hexadez. A (10dez) A (10dez) = AA hex
Voraussetzung ist nur dass man dem Compiler/Interpreter vorher sagt was das da nu sein soll, da der Quelltext "normalerweise" alle werte als dezimalzahlen interppretiert, wenn da jetzt auf einmal 10101010 stehen würde, könnte der Compiler dies als "Zehnmillioneneinhunderteinstausendundzehn" interpretieren, sowas passt natürlich nicht in eine 1Byte große variable (max 255). Also muss man einen Hinweis mitgeben was der Code darstellen soll.
In Bascom z.B wird durch das voranstellen von
&B10101010 mitgeteilt, daß das folgende ein Binär wert sein soll oder durch
&HAA das es ein Hexadezimalwert sein soll.
Bei dezimalzahlen brauchst/kannst du nichts explizit angeben.
Andere Programmiersprachen andere Sitten, jenachdem mit welcher Programmiersprache du arbeitest gelten dort andere Kennzeichnungen der Zahlensysteme (welche das sind? ...na schau in der Anleitung nach)
Also: 170 = &HAA = &B10101010
Wenn du nu nur eine Lampe (LED) anschalten möchtest, dann setzte nur die entsprechenden Bits auf 1 und alle anderen Bits auf 0.
So nun kannst du daraus einen Wert bilden und in einer dir beliebigen Schreibweise eingeben.
Alles Verstanden?
Hinweis:
Du meinst wohl den 4. Ausgang oder?Zitat von 021aet04
Ist ja nur um den "armen Kerl" nicht noch ganz zum ausflippen zu bringenZitat von 021aet04
![]()
Lesezeichen