Anfang:
INPUT "Geben Sie bitte ein beliebiges ASCII Zeichen ein: ",A$
BINA$="00000000"
OKTA$="000"
HEXA$=HTA(A$)
DUOD$="000"
Lob=LEN(HEXA$)
Eki=1
DEZI=0
IF LEN(A$)>1 THEN {
PRINT 'CS',
PRINT "Sie haben eine falsche eingabe get",CHR(228),"tigt, bitte wiederholen Sie ihre eingabe!"
GOTO Anfang
} ELSE {
FOR I=Lob TO 1 STEP -1
IF HEXA$(I,1)>STR(9) THEN {
SWITCH (HEXA$(I,1))
CASE "A"
Funor=10
BREAK
CASE "B"
Funor=11
BREAK
CASE "C"
Funor=12
BREAK
CASE "D"
Funor=13
BREAK
CASE "E"
Funor=14
BREAK
Case "F"
Funor=15
END SWITCH
} ELSE {
Funor=NUM(HEXA$(I,1))
}
Funor=Funor*Eki
Eki=Eki*16
DEZI=DEZI+Funor
NEXT
DEZR=DEZI
FOR I=8 TO 1 STEP -1
BINA$(I,1)=STR(MOD(DEZR,2))
IF DEZR<>0 THEN DEZR=DEZR/2
NEXT
DEZR=DEZI
FOR I=3 TO 1 STEP -1
OKTA$(I,1)=STR(MOD(DEZR,8))
IF DEZR<>0 THEN DEZR=DEZR/8
NEXT
DEZR=DEZI
FOR I=3 TO 1 STEP -1
D=INT(MOD(DEZR,12))
IF D=10 THEN {
DUOD$(I,1)="A"
}
IF D=11 THEN {
DUOD$(I,1)="B"
}
IF D<>10 AND D<>11 THEN {
DUOD$(I,1)=STR(INT(MOD(DEZR,12)))
}
IF DEZR<>0 THEN DEZR=INT(DEZR/12)
NEXT
IF OKTA$(1,1)="0" THEN {
OKTA$(1,1)=OKTA$(2,1)
OKTA$(2,1)=OKTA$(3,1)
OKTA$(3,1)=""
IF OKTA$(1,1)="0" THEN {
OKTA$(1,1)=OKTA$(2,1)
OKTA$(2,1)=""
}
}
IF DUOD$(1,1)="0" THEN {
DUOD$(1,1)=DUOD$(2,1)
DUOD$(2,1)=DUOD$(3,1)
DUOD$(3,1)=""
IF DUOD$(1,1)="0" THEN {
DUOD$(1,1)=DUOD$(2,1)
DUOD$(2,1)=""
}
}
IF BINA$(1,1)="0" THEN {
BINA$(1,1)=BINA$(2,1)
BINA$(2,1)=BINA$(3,1)
BINA$(3,1)=BINA$(4,1)
BINA$(4,1)=BINA$(5,1)
BINA$(6,1)=BINA$(7,1)
BINA$(7,1)=BINA$(8,1)
BINA$(8,1)=""
IF BINA$(1,1)="0" THEN {
BINA$(1,1)=BINA$(2,1)
BINA$(2,1)=BINA$(3,1)
BINA$(3,1)=BINA$(4,1)
BINA$(4,1)=BINA$(5,1)
BINA$(6,1)=BINA$(7,1)
BINA$(7,1)=""
IF BINA$(1,1)="0" THEN {
BINA$(1,1)=BINA$(2,1)
BINA$(2,1)=BINA$(3,1)
BINA$(3,1)=BINA$(4,1)
BINA$(4,1)=""
IF BINA$(1,1)="0" THEN {
BINA$(1,1)=BINA$(2,1)
BINA$(2,1)=BINA$(3,1)
BINA$(3,1)=""
IF BINA$(1,1)="0" THEN {
BINA$(1,1)=BINA$(2,1)
BINA$(2,1)=""
}
}
}
}
}
PRINT 'CS',
PRINT "Sie haben das ASCII Zeichen ",A$," eingegeben!"
PRINT "Hier nun die Ergebnisse der Umrechnung:"
PRINT "Bin",CHR(228),"r: ",BINA$
PRINT "Oktal: ",OKTA$
PRINT "Dezimal: ",DEZI
PRINT "Duodezimal: ",DUOD$
PRINT "Hexadezimal: ",HEXA$
}