Damn Jim, i'm a coder, not an editor.
Ich habe bei Igor mal alles zusammengefasst.
Ich mach das je nach Spaß nebenbei, hab gerade eigentlich gut zu tun. Alles nötige habe ich hier gepostet, wer mit Linux Probleme hat, im Luxx habe ich einen kleines Speedrun-Tutorial geschrieben. Und zu meiner Schande, ich habe auch nicht im HWiNFO nachgesehn in welche Richtung die Spannung...
www.igorslab.de
Wenn ich dir die Sache mit den negativen und positiven Werten in hexadezimal hast du begriffen, ich kann dir auch noch ne kleine Umrechnung lernen. Oder für jeden den es interessiert..
Etwas leichtes, also 4 Bits sind immer eine Ziffer in Hex, also 0x01 kann man in binär als 0000 0001 schreiben, korrekt und unsleserlich als 0b00000001, hier ist die Vorsilbe 0b, nicht 0x.
Die Wertigkeiten der ersten 4 Stellen im binären sind 1, 2, 4 und 8. Also 0001, 0010, 0100 und 1000. Eine 5 wäre also eine 0101 in binär, 0x55 könnt ihr damit auch schnell binär hinschreiben. Der Windows Calculater ist zwar bescheiden, aber es gibt einen Programmer Modus, hier könnt ihr einzelne Bits setzen und euch das anschaulich machen.
Will ich jetzt eine positive in eine negative Signed Integer Zahl verwandeln, geht das so:
Das sind unsere 9 Bits, nun auch für euch leserlich dargestellt:
0 0000 0000
Daraus gewinnen wir unsere 3-stellige Hex-Zahl. Das neunte Bit it das erste Bit der 3 Stelle, das Signed Bit, und in dem Fall wirds einfach zu erkennen. 0x100 oder 0x000, andere Werte kann diese hexadezimale Stelle aus Mangel an weiteren Bits nicht annehmen. Aber Vorsicht, im Register habt ihr wieder 16 Bits, wenn die aber wie beim VID Offset Register mit keiner Funktion belegt sind, können wir die ignorieren.
Für die Umrechnung interessiert uns das Signed Bit nicht, wir bleiben mal bei dem Wert 5:
0000 0101
Und hier drehen wir nun jedes Bit herum:
1111 1010
..sind aber noch nicht fertig, wir müssen noch +1 addieren. Das hat mathematische Hintergründe, wir hätten sonst 2 Symbole für die 0, alle Bits 0 oder alle Bits 1.
Eins addieren schaffen wir in dem Fall auch im Kopf:
1111 1011
In hexadezimal ist das dann 0xFB. Wers ohne Taschenrechner umrechnen will, alle 4 Bits gesetzt sind 0xF, bei der ersten Ziffer müssen wir 4 von 15 abziehen, und 11 ist 0xB.
Zusammen mit unserem Signed Bit haben wir dann:
1 1111 1011 -> 0x1FB = -5
Kurzausflug in die Zahlensysteme und Informatik. Braucht also niemand beeindruckt sein, wenn jemand mal schnell binäre Zahlen hinmalt. Mit etwas Übung wirds echt nur ins Dezimale ein Problem.