Heim > Artikel > Backend-Entwicklung > Numerische Computerberechnungen sind alle binär, aber erzeugen unterschiedliche Kodierungen unterschiedliche Binärzahlen?
Wenn Sie beispielsweise 2*3 berechnen, wandelt der Computer es zur Berechnung zunächst in eine Binärform um. Wenn es sich um eine andere Codierungsform handelt, entspricht es einer anderen Binärdatei?
Wenn Sie beispielsweise 2*3 berechnen, wandelt der Computer es zur Berechnung zunächst in eine Binärform um. Wenn es sich um eine andere Codierungsform handelt, entspricht es einer anderen Binärdatei?
Ja, unterschiedliche Kodierungen haben unterschiedliche Methoden zur Datenaufzeichnung und sind natürlich auch ähnlich.
Die Codierung zielt hauptsächlich auf Zeichenfolgen ab. Die digitale Speicherung ist auch in Big- und Small-Endian-Reihenfolge unterteilt, die allesamt Ausprägungen unterschiedlicher binärer Datenaufzeichnungsregeln sind.
Das Thema der Frage hat mehrere Grundkonzepte, die zunächst geklärt werden müssen.
Zuallererst sollte das, worüber Sie sprechen, im Quellcode „2*3“ sein. Die Zeichenkodierung der Quellcodedateien kann unterschiedlich sein, und auch ihre binäre Darstellung ist unterschiedlich. Dann haben Sie „Berechnung“ erwähnt, die zuerst kompiliert werden muss, um Zielcode zu generieren, bevor er ausgeführt werden kann (unabhängig davon, ob er durch CPU-Anweisungen interpretiert oder ausgeführt wird). Wenn Sie Maschinencode generieren, dann auf derselben Maschine das Format der digitalen Speicherung Es ist das Gleiche. Wenn es sich um den von einer virtuellen Maschine generierten Bytecode handelt, ist das Zahlenformat dasselbe wie die Codierung des Bytecodes.
Sie müssen zunächst die Art der Daten herausfinden. Ihre Berechnung von 2*3 ist eine Berechnung von zwei Ganzzahlen, also 10*11 (binär). Wenn Sie es auf unterschiedliche Architekturen anwenden, bedeutet dies nur, dass die Länge der Ganzzahlen unterschiedlich ist.
Die von Ihnen erwähnte Kodierung gilt für Zeichen. Die ASCII-Zeichen 2 und 3 lauten beispielsweise 0110010 bzw. 0110011. Dies wird nicht für die Berechnung verwendet.
Ja, Sie können jede gewünschte Codierung verwenden und sie nach Ihren Wünschen speichern.
Aber die Berechnungsergebnisse müssen gleich sein.