TI-Basic: Programme und Tutorials: dec⇔hex
Erscheinungsbild
Erstellt von: | Peter Riedel |
Schwierigkeitsgrad: | fortgeschritten |
Modell: | Voyage 200 |
Entwicklungsstand: | noch in Arbeit (TODO: Umrechnung negativ dec) |
Umrechnung von Dezimalzahl in Hexadezimalzahl mit Vor- und Nachkommastelle(n)
[Bearbeiten]:dectohex(dec) :Prgm :ClrIO :setMode("Base","Dec")→base :Local hex,hexa :""→hex :© Nachkommastelle(n) :If mod(dec,1)≠0 Then : © Local ... : mod(dec,1)→rest : rest→list[1] : 2→i : Loop : rest*16→hexa : mod(hexa,1)→rest : rest→list[i] : If int(hexa)≤9 Then : hex&string(int(hexa))→hex : ElseIf int(hexa)=10 Then : hex&"A"→hex : ElseIf int(hexa)=11 Then : hex&"B"→hex : ElseIf int(hexa)=12 Then : hex&"C"→hex : ElseIf int(hexa)=13 Then : hex&"D"→hex : ElseIf int(hexa)=14 Then : hex&"E"→hex : Else : hex&"F"→hex : EndIf : 0→k : For j,1,i,1 : If list[j]=rest Then : k+1→k : If k=1 Then : j→periodic : Else : Exit : EndIf : EndIf : EndFor : If k=2 Then : ","&left(hex,periodic-1)&"~"&mid(hex,periodic,j-periodic)→hex : Exit : EndIf : If mod(hexa,1)=0 Then : ","&hex→hex : Exit : EndIf : i+1→i : EndLoop : int(dec)→dec :EndIf :© Vorkommastelle(n) :Loop : mod(dec,16)→hexa : If hexa≤9 Then : string(hexa)&hex→hex : ElseIf hexa=10 Then : "A"&hex→hex : ElseIf hexa=11 Then : "B"&hex→hex : ElseIf hexa=12 Then : "C"&hex→hex : ElseIf hexa=13 Then : "D"&hex→hex : ElseIf hexa=14 Then : "E"&hex→hex : Else : "F"&hex→hex : EndIf : int(dec/16)→dec : If dec=0 : Exit :EndLoop :© negativ? :© Ausgabe :Disp hex :setMode("Base",base) :EndPrgm