WCM Forum

WCM Forum (http://www.wcm.at/forum/index.php)
-   Programmierung (http://www.wcm.at/forum/forumdisplay.php?f=17)
-   -   HEX2INT HOWTO?????? (http://www.wcm.at/forum/showthread.php?t=58138)

ascii 30.05.2002 20:38

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:

käptn 30.05.2002 20:46

welche sprache ? - wär glaub ich hilfreich...;)

ascii 30.05.2002 20:50

i bin a trottl.............
C!!!

käptn 30.05.2002 21:30

in c hab ich leider null ahnung, aber da gibt's doch sicher eine funktion...

ascii 30.05.2002 21:35

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:

irrsinn 30.05.2002 21:38

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.

ascii 30.05.2002 21:48

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????!!!!

irrsinn 30.05.2002 21:52

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.

ascii 30.05.2002 22:06

okay, passt! i werd jez gschwind a testproggi schreiben! weisst du auswendig um wieviel ASCII und HEX - Wert von Zahlen bzw Buchstaben auseinander liegen??

irrsinn 30.05.2002 22:13

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