![]() |
![]() |
|
![]() |
![]() |
|
Registrieren | Hilfe/Forumregeln | Benutzerliste | Kalender | Suchen | Heutige Beiträge | Alle Foren als gelesen markieren |
Programmierung Rat & Tat für Programmierer |
![]() |
|
Themen-Optionen | Ansicht |
![]() |
#1 |
Veteran
![]() |
![]() 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????????????
![]() |
![]() |
![]() |
![]() |
#2 |
Inventar
![]() Registriert seit: 04.11.2001
Alter: 45
Beiträge: 2.150
|
![]() welche sprache ? - wär glaub ich hilfreich...
![]() |
![]() |
![]() |
![]() |
#3 |
Veteran
![]() |
![]() i bin a trottl.............
C!!! |
![]() |
![]() |
![]() |
#4 |
Inventar
![]() Registriert seit: 04.11.2001
Alter: 45
Beiträge: 2.150
|
![]() in c hab ich leider null ahnung, aber da gibt's doch sicher eine funktion...
|
![]() |
![]() |
![]() |
#5 |
Veteran
![]() |
![]() ich weiss auch net recht........c suckt! do dua i jo liaba assembler programmiern
![]() oba i brauch den schas für morgen, maturaprojekt! ![]() |
![]() |
![]() |
![]() |
#6 |
Veteran
![]() Registriert seit: 05.04.2002
Beiträge: 331
|
![]() 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.
____________________________________
Wenn es dumm ist aber funktioniert, ist es nicht dumm! |
![]() |
![]() |
![]() |
#7 |
Veteran
![]() |
![]() 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????!!!! |
![]() |
![]() |
![]() |
#8 |
Veteran
![]() Registriert seit: 05.04.2002
Beiträge: 331
|
![]() 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.
____________________________________
Wenn es dumm ist aber funktioniert, ist es nicht dumm! |
![]() |
![]() |
![]() |
#9 |
Veteran
![]() |
![]() okay, passt! i werd jez gschwind a testproggi schreiben! weisst du auswendig um wieviel ASCII und HEX - Wert von Zahlen bzw Buchstaben auseinander liegen??
|
![]() |
![]() |
![]() |
#10 |
Veteran
![]() Registriert seit: 05.04.2002
Beiträge: 331
|
![]() 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
____________________________________
Wenn es dumm ist aber funktioniert, ist es nicht dumm! |
![]() |
![]() |
![]() |
Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1) | |
Themen-Optionen | |
Ansicht | |
|
|