![]() |
HEX2INT HOWTO??????
Hi! ich hab 2 char, wo jeweils ein Hex - Wert (0-F) drinnensteht! ich will nun diese beiden werte auf int wandeln (0-255)! Wie kann ich das machen????????????:confused:
|
welche sprache ? - wär glaub ich hilfreich...;)
|
i bin a trottl.............
C!!! |
in c hab ich leider null ahnung, aber da gibt's doch sicher eine funktion...
|
ich weiss auch net recht........c suckt! do dua i jo liaba assembler programmiern :D
oba i brauch den schas für morgen, maturaprojekt! :heul: |
generelles vorgehen: du nimmst dir das erste zeichen und ziehst wenns eine zahl is den ascii wert von 0 ab, wenns ein buchstabe is den wert von a (bzw A) ab. damit hast jetzt die zwei gesuchten binären werte.
dann nimmst eine auf 0 gesetzte variable und weist den wert der ersten stelle zu. mit dem shift operator kannst festlegen, auf welche "stelle" geschrieben wird. also zb variable << 1 = zeichen1; damit schreibst das höhere halbbyte. dann weist das zweite zeichen zu: variable += zeichen2; und schon bist fertig. eigentlich müssts dafür fertige funktionen geben. werd in meinem cod archiv nachschauen. vielleicht find ich was. |
thx für die meldung:
heisst das! ich schau, dass i vom ASCII - WERT aufm HEX-Wert wandl danach je nach eine der beiden als höheres nibble mit dem shift-operator reinschieb und das andere einfach addier?? müsst i dann: variable<<4=zeichen1; variable += zeichen2; die Variable wäre, wenn die zeichen jeweils FF wären 255????!!!! |
die zahlen 0-9 und alle buchstaben liegen ja in der ascii tabelle nebeneinander. dh ihre werte unterscheiden sich nur um 1. wennst also vom zeichen 0 den wert vom zeichen 0 abziehst bleibt dir 0 über. wennst vom zeichen 4 den wert vom zeichen 0 abziehst bleibt dir 4 über.
aufpassen musst, dass du groß und kleinbuchstaben richtig unterscheidest. hast recht. da hab ich mich verschrieben. musst natürlich um 4 bits shiften. |
okay, passt! i werd jez gschwind a testproggi schreiben! weisst du auswendig um wieviel ASCII und HEX - Wert von Zahlen bzw Buchstaben auseinander liegen??
|
kleiner tip:
unsigned char ch = 'a'; mit printf("%x", ch); oder printf("%d", ch); (für alle, die lieber mit dezimalzahlen rechen) kriegst den ascii wert von a angezeigt. wenn ichs auswenig wüsste, hätt ichs dir schon beim 1. posting dazu geschrieben |
Alle Zeitangaben in WEZ +2. Es ist jetzt 22:22 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
© 2009 FSL Verlag