2016-05-17 4 views
1

ich auf GWBasic arbeitete und wissen will, wie ‚CVI (‚aa‘)‘ gibt ‚24929‘ ist, dass jedes Zeichen in ASCII-Code, sondern von „aa“ wandelt 9797. ist

+0

Warum siehst du nicht, was 'CVI (" a ")' zurückgibt? –

Antwort

3

CVI konvertiert zwischen einer GW-BASIC-Ganzzahl und ihrer internen Darstellung in Bytes. Diese interne Repräsentation ist eine 16-Bit-Little-Endian-Ganzzahl mit Vorzeichen, so dass der gefundene Wert der gleiche ist wie ASC("a") + 256*ASC("a"), also 97 + 256*97, also 24929.

MKI$ ist die entgegengesetzte Operation von CVI, so dass die Zeichenfolge MKI$(24929)"aa" zurückgibt.

Die ‚Bytefolgeumkehrung‘ ist eine Folge des kleinen Endian von GW-BASIC-interner Darstellung von ganzen Zahlen: die am weitesten links stehende Byte der Darstellung der mindestens niederwertige Byte ist, während in hexadezimaler Schreibweise Sie die meisten schreiben würden signifikantes Byte auf der linken Seite.

Verwandte Themen