Umrechnen von Hexadezimal zu Dezimal
Übersicht BlitzBasic
 BlitzBasic  Allgemein
 Allgemein|   | CardonicBetreff: Umrechnen von Hexadezimal zu Dezimal |  Fr, Feb 10, 2006 0:03 Antworten mit Zitat   | 
|---|---|---|
| Hi Ich habe mir eine kleine Funktion, die hexadezimale Werte (die in Strings gespeichert sind) in dezimale Werte umrechnet, geschrieben. 8) Gibt es eventuell eine einfachere bzw. schnellere Methode ? Code: [AUSKLAPPEN] Function HexaZuDez(hexa$)
 length = Len(hexa$) dez = 0 For i = 1 To length Select Mid(hexa$,i,1) Case "1" dez = dez + 1 * 16^(length-i) Case "2" dez = dez + 2 * 16^(length-i) Case "3" dez = dez + 3 * 16^(length-i) Case "4" dez = dez + 4 * 16^(length-i) Case "5" dez = dez + 5 * 16^(length-i) Case "6" dez = dez + 6 * 16^(length-i) Case "7" dez = dez + 7 * 16^(length-i) Case "8" dez = dez + 8 * 16^(length-i) Case "9" dez = dez + 9 * 16^(length-i) Case "A" dez = dez + 10 * 16^(length-i) Case "B" dez = dez + 11 * 16^(length-i) Case "C" dez = dez + 12 * 16^(length-i) Case "D" dez = dez + 13 * 16^(length-i) Case "E" dez = dez + 14 * 16^(length-i) Case "F" dez = dez + 15 * 16^(length-i) End Select Next Return dez End Function  die hexadezimalen Werte müssen als String eingegeben werden mfg Cardonic | ||
| If you should go skating on the thin ice of modern life, dragging behind you the silent reproach of a million tear-stained eyes, don't be surprised when a crack in the ice appears under your feet. | ||
|   | hecticSieger des IS Talentwettbewerb 2006 |  Fr, Feb 10, 2006 0:18 Antworten mit Zitat   | 
|---|---|---|
| Hier etwas kürzer:Code:  [AUSKLAPPEN] h$=Input$("HEX-Zahl eingeben: ")
 wert=0 position=0 For q=Len(h) To 1 Step-1 zwischenwert=Asc(Upper(Mid(h,q,1)))-48 If zwischenwert>9 zwischenwert=zwischenwert-7 wert=wert+zwischenwert*16^position position=position+1 Next Print wert WaitKey | ||
| Steffen |  Fr, Feb 10, 2006 9:23 Antworten mit Zitat   | |
|---|---|---|
| Aber ohne ^ gehts schneller: Code: [AUSKLAPPEN] h$=Input$("HEX-Zahl eingeben: ")
 wert=0 position=0 For q=1 To Len(h) zwischenwert=Asc(Upper(Mid(h,q,1)))-48 If zwischenwert>9 zwischenwert=zwischenwert-7 wert=wert*16+zwischenwert Next Print wert WaitKey ~~CodeTags umgestellt~~ d-bug | ||
| >PC: Pentium III 750MHz, ATI Rage 128 mit 32Mb, Windows Me, Blitz3D 1.87 >Laptop: Pentium M 1,4GHz, 512 Mb DDR, ATI Mobility Radeon 9000 mit 64Mb DDR, Windows XP Home, Blitz3D 1.87 | ||
|   | hecticSieger des IS Talentwettbewerb 2006 |  Fr, Feb 10, 2006 9:35 Antworten mit Zitat   | 
|---|---|---|
| Hey Steffen, bin echt beeindruckt. Hätte nicht gedacht das man die Umrechnung auch 'vorwärts' durchführen kann... Ausserdem spart man sich eine Variable! Die 'position' kann da weg!.. | ||
|   | Cardonic |  Fr, Feb 10, 2006 13:02 Antworten mit Zitat   | 
|---|---|---|
| Hi Ich habe auch schon an den ASCII-Codes studiert; habe aber keine vernünftige Lösung gefunden   Ich finde es toll, dass ihr mir noch andere Möglichkeiten gezeigt habt  Vielen Dank mfg Cardonic | ||
| If you should go skating on the thin ice of modern life, dragging behind you the silent reproach of a million tear-stained eyes, don't be surprised when a crack in the ice appears under your feet. | ||
|   | BtbN |  Fr, Feb 10, 2006 15:27 Antworten mit Zitat   | 
|---|---|---|
| Normal wandelt Int("$AF12BF") Auch Hexa-Dezimal in Dezimal um, kann aber sein, dass ich mich täuse. | ||
| Apocalyptic |  Fr, Feb 10, 2006 15:32 Antworten mit Zitat   | |
|---|---|---|
| BORNtobeNAMELESS hat Folgendes geschrieben: Normal wandelt Int("$AF12BF") Auch Hexa-Dezimal in Dezimal um, kann aber sein, dass ich mich täuse. Ja, das tust du   | ||
| Suum cuique [ www.ffs-net.de.vu ] [ Raycaster ] | ||
|   | Cardonic |  Fr, Feb 10, 2006 15:50 Antworten mit Zitat   | 
|---|---|---|
| @ BORNtobeNAMELESS : Was denkst du, warum wir solch eine Funktion überhaupt schreiben. | ||
| If you should go skating on the thin ice of modern life, dragging behind you the silent reproach of a million tear-stained eyes, don't be surprised when a crack in the ice appears under your feet. | ||
|   | BtbN |  Fr, Feb 10, 2006 17:07 Antworten mit Zitat   | 
|---|---|---|
| Ich habs ma in BMax gestestet, und da gibt Int("$FF") 255 zurück. Ich meine mich zu erinnern, dass das in BB genau so war. | ||
|   | Cardonic |  Fr, Feb 10, 2006 18:48 Antworten mit Zitat   | 
|---|---|---|
| Ich habs ma in BB2D und B+ getestet, und da gibt Int("$FF") 0 zurück   Ich denke nicht, dass deine Erinnerungen in diesem Fall korrekt sind   mfg Cardonic | ||
| If you should go skating on the thin ice of modern life, dragging behind you the silent reproach of a million tear-stained eyes, don't be surprised when a crack in the ice appears under your feet. | ||
|   | hecticSieger des IS Talentwettbewerb 2006 |  Fr, Feb 10, 2006 23:19 Antworten mit Zitat   | 
|---|---|---|
| Das hier geht auch mit B3DCode:  [AUSKLAPPEN] Print Int($ff)
Man sollte das ganze ohne "" angeben, dann gehts. WaitKey So jetzt ist der ganze Code schon ganz kurz geworden! Kennt jemand noch kürzer? :   | ||
|   | Hip Teen |  Fr, Feb 10, 2006 23:40 Antworten mit Zitat   | 
|---|---|---|
| Schlaumeier.. Du kannst da genauso Code: [AUSKLAPPEN] Print $FF schreiben. $ leitet in BB ja ne Hex Zahl ein, das ganze wird dann beim compilen umgerechnet. Was machst du aber, wenn das ganze in ner Variable steckt? NA? eben -.- | ||
| Spruch der Woche: "Ahh, ein neues Gesicht?!" - "Nein, das hab ich schon länger" | ||
|   | hecticSieger des IS Talentwettbewerb 2006 |  Fr, Feb 10, 2006 23:56 Antworten mit Zitat   | 
|---|---|---|
| Stimmt! Bin wohl schon zu lange wach... grrrr... Meine Gedankenkreise kreisen und können sich an nichts mehr orientieren...   | ||
|   | Cardonic |  Sa, Feb 11, 2006 0:56 Antworten mit Zitat   | 
|---|---|---|
| @ hectic : Der Sinn der langen Codes ist, dass man eine hexadezimale Zahl, welche in einem String gespeichert ist, in eine Binäre Zahl umrechnen kann; dies lässt sich leider nicht mit einer Codezeile schreiben   mfg Cardonic | ||
| If you should go skating on the thin ice of modern life, dragging behind you the silent reproach of a million tear-stained eyes, don't be surprised when a crack in the ice appears under your feet. | ||
Übersicht
 BlitzBasic
 BlitzBasic  Allgemein
 Allgemein
					Powered by phpBB © 2001 - 2006, phpBB Group
				



