Hex ind Dezimal

Hallo,

Aufgabe: Es gibt eine Reihe von Hex-Codes die in einen Rechner eingelesen werden sollen. Warum auch immer... Es steht nur eine Tastatur mit Ziffern zur Verfügung. Also muß der Hex-Code in einen Dez.Code gewandelt werden.

Beispiel 6B muß einen 3-stelligen Code geben.

Gibt es da eine Standard-Umrechnung?

Gruß Klaus

Reply to
Klaus Wagner
Loading thread data ...

Klaus Wagner schrieb:

Hallo,

mache es doch einfacher und eindeutiger, wandle jede Hexziffer in zwei Dezimalziffern um, dann wird aus 6B 0611. Oder mit oktalen Ziffern: 6B in 0613.

Bye

Reply to
Uwe Hercksen

Uwe Hercksen schrieb:

?

??

Nö - dann wird dezimal 107 daraus ( 6 * 16 + 11 )

Nö - oktal ist das 153

Computeeinmaleins ist nicht so deine Stärke?

Gruss Wolfgang

Reply to
Wolfgang Gerber

Wolfgang Gerber schrieb:

Hallo,

Du hast Deine Schwächen beim Mitdenken, Verstehen und auch bei der Rechtschreibung. Mein Vorschlag macht aus einer je Hexziffer zwei Dezimalziffern, die komplette Umwandlung in eine echte Dezimalzahl soll gefälligst der Rechner machen.

Bye

Reply to
Uwe Hercksen

Hallo,

Wolfgang Gerber schrieb:

und der Unterschied zwischen Zahl und Ziffer ist nicht so deine Stärke, oder?

Wenn das wer im Kopf schnell zum Eingeben umrechnen muss, dann macht sich das mit den einelnen Ziffern mMn auch am schnellsten.

Gruß stu

Reply to
Sacha Tuske

Oktal?

6B -> Binär: 01101011 In 3er Gruppen angeordnet: 01 101 011 ergibt 153 oktal.
Reply to
Peter Heitzer

Der OP hat aber 3 Dezimalziffern gewünscht und das geht nur oktal.

Reply to
Peter Heitzer

Uwe Hercksen schrieb:

Wer keine Argumente hat hängt sich an Rechtschreibung auf. Einfach billig so was.

^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Deine Grammatik ist auch nicht ganz so fehlerfrei

Also Glashaus!

Ach ja - wer sagt dir daß der OP da einen Einfluss drauf hat?

Er hat Hexwerte irgendwoher und soll die in eine dezimale Eingabe bringen. Und dazu ist dein Vorschlag schlicht falsch.

Und dein Oktalzahlenvorschlag noch falscher.

Gruss Wolfgang

Reply to
Wolfgang Gerber

Sacha Tuske schrieb:

Oh doch - sag mir bitte wo ich da was falsch ausgedrückt habe.

genau - deshalb war mein Rechenbeispiel ( 6 * 16 + 11) für Kopfrechner ja in Klartext dagestanden.

Und was hast du sonst noch auf Lager ausser überflüssiegen Bemerkungen?

Gruss Wolfgang

Reply to
Wolfgang Gerber

Peter Heitzer schrieb:

Das geht auch Dezimal genauso. Z.B. mit führender "0".

Aus 2F(hex) wird dann eben 047(dez)

Gruss Wolfgang

Reply to
Wolfgang Gerber

Stimmt natürlich. Aber Hex-Oktal kann man leichter im Kopf umsetzen. Mit Kenntnis des 16er Einmaleins geht natürlich auch die Umrechnung nach dezimal ohne Probleme.

Reply to
Peter Heitzer

Peter Heitzer schrieb:

Bestimmt nicht.

Und du kannst mir glauben - ich weiß von was ich rede. Ich habe ca.

1978 mit dem 8080-Debubber in Oktal(!) mehrer Kilobyte große Programme komplett geschrieben. Also nix Assemblier - pure "Opcode-Byte-Rechnerei" auf Papier und dann wie gesagt von Hand in Oktal "eingekloppt."

Oktal hatte beim 8080 große Vorteile weil die Prozessorstruktur da drauf aufgebaut war.

Gruss Wolfgang

Reply to
Wolfgang Gerber

Hallo, Klaus,

Du (k.wagner.mm) meintest am 29.11.07:

"eingelesen" oder "eingegeben"?

Zum Eingeben per Tastatur ist eine ausgedruckte Umsetztabelle am effektivsten.

Viele Gruesse! Helmut

Reply to
Helmut Hullen

X-No-Archive: Yes

begin quoting, Klaus Wagner schrieb:

Offenbar nicht, sondern eingetippt.

Muß der denn dreistellig sein?

Geh das Problem mal anders an:

- Muß wirklich eingetippt werden, oder könnte man die Codes auch einlesen?

- Muß es eine Dezimaltastatur sein, oder kann man eine Hex-Tastatur beschaffen?

- Wer soll umcodieren - der "Tipper" im Kopf?

Falls zwangsläufig letzteres, würde ich eine einfache "Idiotenregel" empfehlen:

  1. Ziffern außer der Null gib als einfache Ziffer ein.

  1. Die Null gib als Doppelnull ein, also

Code | Eingabe ------+---------- 0x | 00x x0 | x00 00 | 0000

  1. Buchstaben gib wie folgt ein:

Code | Eingabe ------+---------- A | 01 B | 02 C | 03 D | 04 E | 05 F | 06

Wobei man die Umcodierung auch vollmechanisch erledigen könnte, also ein Tastaturbrett mit einer 4x4-Hextastatur bauen, bei dem die Knopfdrücke Stößel betätigen, die auf einer Dezimaltastatur fallweise "Doppelanschläge" auslösen - besser wäre es natürlich, das elektronisch zu machen oder eben keine Dezimaltastatur zu verwenden.

Wo tritt das auf - DFÜ über Telefonbedienfeld? Für den Fall gibt es "Piepser" mit 4x4-Tastatur.

Die andere Möglichkeit wäre, vorher dafür zu sorgen, daß es kein Hex-Code, sondern gleich dezimal ist, also die Hex-Daten vor der Eingabe umwandeln.

Gruß aus Bremen Ralf

Reply to
Ralf Kusmierz

Ich bin von der Schlichtheit und Eleganz dieser Lösung fasziniert, insbesondere gefällt mir die mechanische Lösung, bei der fallweise Doppelanschläge auf der Dezimaltastatur ausgelöst werden.

Könnte man nicht einige dieser modernen Chips dazu benutzen, beispielsweise die richtigen Elektromagnete zum richtigen Zeitpunkt auszulösen?

Die Umwandlung in einen dezimalen oder oktalen Code klingt dagegen eher wie ein Behelf...

Gruss Udo

Reply to
Udo Piechottka
[Zahl vs. Ziffer]

Die Zahl 6B besteht aus zwei Ziffern: 6 und B. Die jeweils in Dezimal übersetzt und aneinander gereiht ergibt 0611. Stellenwert ist nur bei einer Zahl sinnvoll, nicht aber bei einzelnen Ziffern.

Björn

Reply to
Bjoern Schliessmann

Hallo, Klaus,

Du (k.wagner.mm) meintest am 29.11.07:

Ja: 6*16 + 11 = 107

0 1 2 3 4 5 6 7 8 9 a b c d e f 0 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 1 16 17 18 19 20

(usw.) Gibt (gab) es auch als fertige Kopiervorlagen.

Viele Gruesse! Helmut

Reply to
Helmut Hullen

Das ist richtig.

ich habe das mit Paritätsbit gemacht (weils eh schon egal ist und der ersten Ziffer nicht weh tut, ein wenig Sicherheits- check gibt es dazu).

MfG

Reply to
Franz Glaser (KN)

Klaus Wagner schrieb:

Es muss von einem polyadischen Zahlensystem in ein anderes umgerechnet werden. Wenn die Hexzahlen eine begrenzte Ziffernlänge z.B. 3 haben, könnte man sich eine Schablone bauen. Es bleiben dabei nur noch ein Additionen übrig.

Hexziffer Dezimalziffer 3. 2. 1. Stelle

0 0 0 0 0 1 1 256 16 1 2 2 512 32 2 3 3 768 48 3 4 4 1024 64 4 5 5 1280 80 5 6 6 1536 96 6 7 7 1792 112 7 8 8 2048 128 8 9 9 2304 144 9 A 10 2560 160 10 B 11 2816 176 11 C 12 3072 192 12 D 13 3328 208 13 E 14 3584 224 14 F 15 3840 240 15

  1. Diese Tabelle lässt sich auf beliebig viele Spalte bzw. Stellen erweitern.

  2. Man kann direkt die Umwandlung ablesen. Man muss lediglich noch im Kopf addieren.

Beispiele:

6B=>96+11=107 FBA=>3840+176+10=4026 15=>16+5=21

usw.

MFG Stefan

Reply to
Stefan Sprungk

PolyTech Forum website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.