heute will ich mich mal nützlich machen und euch etwas beibringen. Das hier gibt es bestimmt xtausend mal im Internet. Aber noch nicht auf Elitepvpers. Daher wollte ich mich darum kümmern. Ich hoffe einigen wird dieses Tutorial etwas bringen.
Dann fangen wir mit der Erklärung an, was ich euch hier beibringen will.
Es geht um die Zahlensysteme: Hexadezimal - Binär - Dezimal
Ich erkläre euch, wie man diese umrechnet, und wie man mit ihnen umgeht und wo sie eingesetzt werden.
Damit das ganze ein bisschen gegliedert ist, steht das alles in Spoilern. Soll einmal bewirken, dass ihr euch nicht gleich denkt "Was so viel? Nein, danke!" also von der Größe des Threads und dass es ein wenig übersichtlicher ist.
1. Die Zahlensysteme
2. Die Umrechnung in andere Zahlensysteme
3. Wo werden sie eingesetzt?
4. Schluss
Dezimal kennt jeder. Jeder arbeitet mit normalen Zahlen im alltäglichen Leben.
Sei es, ihr kauft euch was beim Bäcker, schaut auf die Uhr, müsst etwas ausrechnen. Alles sind Dezimalzahlen.
Wichtige Angaben:
Mit wichtigen Angaben, meine ich Zahlen welche zum Rechnen und zum Verstehen des Zahlensystems.
Die Tabelle zeigt euch, die Position der Stelle.
Beispiel:
Die Zahl 1234. Von links nach rechts gesehen: Die Zahl 4 ist an erster Stelle (Einer). Die 3 ist an zweiter Stelle (Zehner). Die 2 ist an dritter Stelle (100er) usw.
Der Stellenwert in dezimaler Schreibweise zeigt euch, welchen Wert die Stelle hat. Das ist nicht zu vergleichen mit den Einer Zehner Hunderter usw.
Das ist einfach der Wert, den die Stelle hat.
Die Potenzschreibweise ist mit der Basiszahl zu erklären. Wie wir oben gelernt haben, ist die Basiszahl die 10. 10^0*1 wäre die 1. Rechnen wir mal:
10^1 * 1 = 10 * 1 = 10
10^1 * 2 = 10 * 2 = 20
10^1 * 3 = 10 * 3 = 30
usw.
Dadurch lässt sich dann der Stellenwert ausrechnen.
Position der Stelle
9
8
7
6
5
4
3
2
1
Stellenwert in dezimaler Schreibweise
9
8
7
6
5
4
3
2
1
Stellenwert in Potenzschreibweise
10^0*9
10^0*8
10^0*7
10^0*6
10^0*5
10^0*4
10^0*3
10^0*2
10^0*1
Das hier sieht noch ganz locker aus, ist es auch, da wir uns momentan noch im dezimalen System befinden, welches uns sehr gängig ist. In anderen Zahlensystemen sieht
das dann aber schon wieder ganz anders aus.
Der Zeichensatz bzw. Zeichenvorrat geht von 0 - 1.
-Was bedeutet das?
Eigentlich genau das Gleiche wie im Dezimalsystem. Nur das wir hier schon nach der 1 zur nächsten Stelle umspringen.
Vielleicht haben es schon viele gehört, dass der PC nur mit 0 und 1 arbeitet. D.h. 0 - 1 dann -> 10 - 11 dann -> 100 - 101 - 111 usw.
Die Basiszahl ist 2.
-Was bedeutet das?
Genau wieder das Gleiche wie im Dezimalsystem. Nur das man hier mit der 2er Potenz arbeitet. Wieder Näheres in der Wertetabelle
Hier zeigt euch die Wertetabelle auch wieder mehr dazu:
Das Hexadezimalsystem ist ein System, welches nicht nur Zahlen hat. Dieses hat den Zeichensatz bzw. Vorrat von 0 - 9 + A - F.
-Was bedeutet das?
D.h., dass du hier erstmal von 0 - 9, wie im Dezimalsystem hochrechnen kannst. Doch dann folgt keine 10 sondern das A für 11.
0 - 1 - 2 - 3 - 4 - 5 - 6 - 7 - 8 - 9 - A(11) - B(12) usw. bis F(15). Also wäre 10 nicht gleich 10 sondern 16. Hört sich bisschen
komisch an aber ich versuche es noch kurz zu erklären.
Du zählst ganz normal hoch bis zu F was gleich 15 sind. Dann hört der Zeichenvorrat auf und es geht eine Stelle nach Links = 10.
Da du jetzt F hast und die eine Stelle mehr sind 10 gleich 16. Hört sich kompliziert an, ist es aber nicht.
Die Basiszahl ist 16 ~ Setzt sich so zusammen: 0 - 9 = 10 Zahlen A - F = 6
Wieder das gleicher Prinzip wie oben.
Halt mal wieder nur mit der Basiszahl 16.
Das mit den Buchstaben ist auch nicht schwer. Ihr müsst bei der 9 einfach weiterzählen.
A = 10
B = 11
C = 12
usw.
Position der Stelle
16
15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
Stellenwert in dezimaler Schreibweise
1F
F
E
D
C
B
A
9
8
7
6
5
4
3
2
1
Stellenwert in Potenzschreibweise
16^15
16^14
16^13
16^12
16^11
16^10
16^9
16^8
16^7
16^6
16^5
16^4
16^3
16^2
16^1
16^0
Das hier ist vielleicht nicht so ersichtlich, wie bei den anderen Zahlensystemen, aber ihr werdet in der Umrechnung die jetzt gleich kommt, alles verstehen.
Da wir alle das Dezimalsystem verstehen, werde ich die 2 andere Systeme ins Dezimalsystem umrechnen. Die Umrechnung von Dezimal in die anderen Systeme werde ich dann irgendwann anhängen.
Ihr denkt euch das ist schwer, aber wenn man es einmal verstanden hat geht das alles ganz flott.
Die Tabelle erklärt euch vielleicht mehr. Dazu habe ich die Binärzahl "0100 0111" als Beispiel genommen:
Stellenwert in dezimaler Schreibweise
256
128
64
32
16
8
4
2
1
Die Beispielzahl
0
1
0
0
0
1
1
1
So jetzt haben wir hier einmal die 1 an erster Stelle. Darüber steht auch eine 1. Das heißt diese Zahl hat den Wert 1. Das Gleiche mit der zweiten Stelle, nur dass darüber die 2 steht. Das heißt jetzt schon 1+2
Ihr kommt nicht mit? Dann habt ihr oben nicht aufgepasst. Es wird von rechts nach links gelesen
Wenn wir das mit den weiteren Zahlen machen, kommt diese Rechnung raus:
1+2+4+64=71
Und schon habt ihr die Binärzahl in die Dezimalzahl umgerechnet!
Falls ihr sowas ausrechnen wollt, nehmt euch am besten einen Notizzettel und malt diese Tabelle auf. Das erleichtert euch das Leben um so einiges.
Denn dann müsst ihr einfach nur noch schauen unter welcher Dezimalzahl die 1 steht und diese rechnet ihr zusammen.
Nun wisst ihr ja, wie man Binär zu Dezimal umrechnet. Das ganze geht auch ganz leicht in die andere Richtung.
Ich weiß jetzt nur eine Methode, dieses zu machen. Bzw. die leichteste Methode die ich kenne.
Nehmen wir die Beispielzahl: 79
So nun haben wir dort die 79 und Teilen sie durch 2.
Warum durch 2? Weil die Basiszahl vom Binärsystem 2 ist.
79 / 2 = 39,5 Rest 1
Dazu erstmal eine Erklärung dann kommt die ganze Rechnung. Ihr habt dort jetzt eine ,5 Zahl herrausbekommen. Die ,5 ignoriert ihr einfach in der Rechnung und schreibt den Rest 1 hin.
Und das geht so weiter, bis man nur noch die 0 hat:
Hexadezimal ist da etwas komplexer als die Binär zu Dezimal. Aber das kann man alles lernen
Fangen wir mal an. Ich nehme mal eine Random Hexadezimal Zahl 1F 43 2B
Das wird jetzt eine lange Rechnung. Ich habe sie in zweierblöcken geschrieben, da jedes eine einzelne Zahl ist. 1F ist eine Dezimalzahl, sowie 43 und auch 2B
Wir fangen an die 1F zu rechnen:
Wir wissen, dass F die 15 ist. somit haben wir schon 15. Jetzt haben wir aber davor noch die 1. 1 ist die 1. Zahl im Dezimalsystem. D.h. wir haben F schon einmal ganz voll (Einer). Somit ist die 1 an der 2. Stelle die 16. Zum verstehen: Hätten wir statt der 1 die 2, hätten wir das System zweimal durch, somit 2*16 = 32.
Also ist die erste Zahl F = 15 + 16 = 31
Somit ist 1F ; 31.
Nehmen wir uns die 43 vor.
4 = 4x das System durch = 4* 16 = 64 + 3 = 67
Die letzte wäre dann noch 2B. 2 = 2* 16 = 32 + B = 10 = 42
Das rechnen wir zusammen: 31 + 67 + 42 = 140
Damit ihr das leichter verstehen könnt, wähle ich jetzt eine 4 stellige Hexadezimalzahl : 39f3
Wir rechnen von rechts nach link ( zum Vereinfachen)
3=3
f an zweiter Stelle = 16*15 Warum? weil das System an erster Stelle schon 15* durchgegangen ist.
16*15 = 240
Jetzt kommen wir an die 3. Stelle. Wir sind jetzt einmal 16* bei der 1. Stelle durchgegangen und bei der 2. Stelle d.h. 16*16*9 , da dort die 9 steht.
16*16*9= 2304
Jetzt kommt die 4. Stelle, das heißt jetzt wir sind 3* die 16 durchgelaufen
16*16*16*3 = 12288
Das rechnen wir wieder zusammen: 3+240+2304+12288 = 14385
Somit ist 39f3 = 14385
Ich hoffe ihr habt das ein wenig verstanden^^ Bei Fragen bitte bei mir melden. Ist etwas komplex, wie gesagt.
Diese Umrechnung geht eigentlich genauso, wie bei Dezimal zu Binär.
Wir haben z.B. die Zahl: "128 453"
gespr: "hundertachtunzwanzigtausenvierhunderdreiundfünfzi g"
Nun nehmen wir die Zahl und teilen sie durch 16
128453 / 16 = 8028,3125 REST: 5
Wie komm ich auf die 5? Als erstes teile ich die ganze Zahl durch 16. Danach nehme ich das Ergebnis ohne Komma (8028*16=128448). Davon ist der Rest auf die ganze Zahl dann 5. Nun machen wir mit der ganzen Zahl wieder weiter:
Nun, Binärzahlen müssten euch möglicherweiße schon viel sagen. Binärzahlen sind ja nur 0 (Aus) und 1 (An). Das sind 2 Zustände. Diese werden in allen technischen Sachen verwendet, die Strom benötigen. Ja Selbst euer Lichtschalter wird in der Theorie mit Binär geschaltet. Es gibt einmal einen Zustand, dass das Licht aus ist (0) oder das Licht ist an (1). Natürlich gibt es auch Lichtschalter mit Dimmer, aber diese haben dann spezielle Funktionen.
Der ganze Computer wird mit dem Binärsystem gesteuert und kommuniziert mit diesem System. Z.b. im Prozessor sind ganz viele kleine Schaltungen. Diese Schaltungen sind nicht mit dem bloßen Auge zu erkennen, weil sie weniger als 1 Nanometer klein sind.
Diese Schaltungen haben auch immer den Zustand an oder aus (1 oder 0).
Hexadezimalzahlen, sind eigentlich nur eine Vereinfachung des Binärsystems. Denn anstatt 4 einser und nullen kannst du nur einen Buchstaben oder eine Zahl im Hexadezimal schreiben.
Diese Vereinfachung wird z.B. bei Hexeditoren genutzt, um so leichter eine Stelle zu verändern können. Denn aus 0 und 1 kann man schlecht herauslesen, welche Funktion das nun bedeuten soll.
Das dürfte eigentlich jedem klar sein. Das sind die Zahlen unserer Menschheit. Wir benutzen sie täglich um z.B. das Restgeld von einem Einkauf auszurechnen, oder die Zeit zu lesen, wieviel Gramm Mehl in unseren Kuchen kommen usw.
Das wars dann auch erstmal von mir und ich hoffe es hat euch spaß gemacht das durchzulesen.
Falls noch etwas fehlt, ihr Verbesserungsvorschläge habt, oder Fragen offen sind, bin ich gern bereit diese euch zu beantworten.
Hexadezimal muss ich wirklich mal lernen.
Ich muss mir dein TuT nochmals
gründlich durchlesen hab es jetzt nur so überflogen.
Hoffe es kann mir helfen wenn ich Hexadezi
mal brauche.
Danke schonmal für euer Feedback. Ich werde das ganze dann nochmal schöner gestalten, mit Spoilern usw.
Ich überlege mir da nochmal, wie ich es für "Anfänger" nochmal besser schreiben kann.
Dabei mal eine Frage an euch, die ich mir hier grad nicht beantworten kann. Wisst ihr ob man Hochzahlen hier in Elitepvpers schreiben kann?
Das Ganze wird denk ich heute Abend gegen 19:00 ~ 20:00 Uhr fertig sein!
Kannst ihn mir gerne per PN schreiben Und ich weiß, dass es auch andere Möglichkeiten gibt. Aber das ist erstmal nur für Leute die es verstehen wollen, wie das Prinzip des ganzen Systems ist
Bekommst natürlich auch einen Platz in diesem Thread, indem dein Profil verlinkt ist.
Was willstn da umrechnen?
Texte bestehen ja aus Buchstaben und die kannst du kodieren, wie du willst. Da gibt es z.B. den ASCII, da steht die Zahl 97 z.B. für 'a', die 98 für 'b' usw. Großbuchstaben haben den Wert des kleinen Buchstabens - 32.
'Hallo' hat also die ASCII Werte 72, 97, 108, 108, 111. Das kannst du jetzt umrechnen in Hexadezimal:
48, 61, 6C, 6F
Das kannst du dann ins Binäre umrechnen:
01001000, 01100001, 01101100, 01101111
Convert Dezimal to Hexerdezimal 03/28/2011 - Coding Tutorials - 6 Replies I möchte euch hier zeigen wie man Dezimalzahlen mit C++ zu Hexerdezimalzahlen wandelt.
Zuerst benötigen wir 4 Variablen (einen Array).
Danach muss eine Ganzzahl eingegeben werden.
int iDezimal = 0;
int iRest;
int i_a_ToHex ;
int i = 0;
[Delphi] Readprocessmemory() mit dezimal? 06/12/2010 - General Coding - 3 Replies Hallo, ich hätte noch eine frage.
ReadProcessMemory(Pidhndl,ptr(BaseAddr), @AtmTargetPointer, Data, written);
readprocessmemory gibt mir 0 als ausgabe. Ich verwende als Baseaddr eine Dezimalzahl.
Nun meine Frage : Kann man mit readprocessmemory auch Dezimale addressen auslesen? Ohne das ''$'' vor der addresse?
-298
[C++]hexadezimal immer um 1 erhöhen 07/24/2009 - C/C++ - 20 Replies Hi leute,
folgendes Problem habe ich ich suche als ne Möglichkeit womit ich Hexadezimal Adressen errechnen kann also immer um eins erhöht also damit ich von 00000000 bis FFFFFFFF hoch rechnen kann das mit den wider holen hoch rechen bekomme ich ja hin mit einer for schleife aber wie ich die Adressen errechne weiß ich nicht
danke jetzt schon mal für Hilfe
gruß
neofox
CE - Hexadezimal scannen 08/08/2008 - Metin2 - 0 Replies Also ich würde gerne verstehen wie die Values bei Metin2 vergeben sind. Die Valueliste kenne ich bereits.
Mir fiel schon lange auf, dass die Values alle in einem gewissen Raster sind.
Also alles was mit 112xx beginnt sind z.B. Kriegerrüssis.
Alles was mit 1x(x) beginnt sind Schwerter und alles was mit 3xx beginnt sind 2Hand Waffen.
Doch irgendwie geht mir ein Knopf im kopf nicht auf ^^
16xxx ist doch der Speed des Charas. Ich erklär mir das so:
256 ist eine normale dezimale Zahl die...
Hexadezimal in Dezimal ???? 01/14/2006 - Off Topic - 10 Replies Hi,
ich schreibe morgen eine Arbeit in Info, nun muss ich eine Hexadezimalzahl in eine Dezimalzahl umwandeln. Und eine Dezimalzahl in eine Hexadezimalzahl. zB Dezimalzahl: 1000 in Hexadezimal
Kann da wer helfen ? Wie geht das ?