Luckie hat folgendes geschrieben : |
Timosch hat folgendes geschrieben : | Wenn du Nullen und Einsen in einen Texteditor tippst, dann werden diese Zeichen als ASCII-/ANSI-/Unicode-Zeichen gespeichert. (Das gehört eigentlich zum Grundwissen des Programmierens...) Aus der Null wird zum Beispiel 30h. Um direkt Zahlen abzuspeichern hol dir halt nen Hex-Editor. |
Du wiedersprichst dir gerade selber. Was ist denn 30h? Das ist doch alles nur ein und der gleiche Wert, nur in anderen Zahlensystem dargestellt. Guck dir mal eine Textdatei im HexEditor an und stell die Anzeige auf binär. Da wirst du nur nullen und einsen sehen. Es ist alles eine eine Interpretationssache. Ein Texteditor wird die nulen und einsen als Text interpretieren und die nullen und einsen als Zeichen darstellen, ein Grafikprogramm wird die nullen und eines als Bitmap interpretieren und die nullen und einsen als Pixel des Bitmaps darstellen. Dies gilt natürlich nur, so lange die nullen und einsen zu dem Dateiformat passen.
Also er hat schon nullen und einsen geschrieben wir er wollte. Nur wahrscheinlich nicht die, die er wollte.  |
Du verstehst mich falsch (woran ich aber teilweise auch schuld bin, dank ungenauer Ausdrucksweise). Ich wollte damit aussagen, dass das Zeichen "0" nicht als Zahl 0 gespeichert wird (sondern eben als 30h bzw. 48 dez), weil es sich um ein Zeichen, nicht um eine Zahl handelt, wenn es mit einem Texteditor eingegeben wurde. Also prinzipiell der Grund, warum Strings zum Rechnen in Float/Int ungewandelt werden müssen.
Wenn ich mit Notepad den Text "48" schreibe und abspeichere, dann steht in dieser Datei eben nicht die Zahl 48, sondern die Nummer des ASCII-Codes für 4 und die für 8, d.h. 52 56.
Natürlich sind das letzten Endes auch Nullen und Einsen. Aber ich kann eben nicht in einem Texteditor "10010" schreiben und dann glauben, dass auch die Bits 1,0,0,1,0 gespeichert werden.
If liberty means anything at all, it means the right to tell people what they do not want to hear. - George Orwell