Forum: PC-Programmierung Umwandlung einer Dezimal Zahl in 2x little Endian


von Johannes (Gast)


Lesenswert?

Hallo zusammen,

ich hoffe Ihr könnt mir bei meinem Problem helfen.
Ich möchte eine Art Enigma für Seriennummer erstellen.
Ziel ist eine Umformung von dezimaler Darstellung in 2x little Endian 
(hex)

Ich habe eine dezimal Zahl:

007766403 (dec) > 0076 8183 (hex)

Umwandlung (2x little Endian) = 7600 8381

Ich hoffe jemand kann mir ein kleines Programm schreiben oder mir ein 
Programm empfehlen zur Umformung. Ich bin mir sicher ich muss das Rad 
nicht neu erfinden und würde mich über eine einfach und schnelle Lösung 
sehr freuen. Leider habe ich nur sehr wenig Erfahrung mit Formaten und 
Umformungen.

Vielen Dank im Voraus

von Karl H. (kbuchegg)


Lesenswert?

Johannes schrieb:
> Hallo zusammen,
>
> ich hoffe Ihr könnt mir bei meinem Problem helfen.
> Ich möchte eine Art Enigma für Seriennummer erstellen.
> Ziel ist eine Umformung von dezimaler Darstellung in 2x little Endian
> (hex)
>
> Ich habe eine dezimal Zahl:
>
> 007766403 (dec) > 0076 8183 (hex)
>
> Umwandlung (2x little Endian) = 7600 8381

Ich seh jetzt noch nicht, wo das Problem ist.
Du nimmst die Zahl bytemässig auseinander und setzt sie in anderer 
Reihenfolge wieder zusammen.

Eine schöne Anwendung für Schieben, Maskieren und Verodern, Datentypen 
und eventuell ein wenig Umcasten (wenn du in C schreibst).
Oder aber eine schöne Übung über den Aufbau von Zahlensystemen und wie 
sie funktionieren, bzw. wie man eine Zahl mit Divisionen, Divisionrest 
auseinandernehmen und mit Multiplikation wieder zusammensetzen kann.

> Programm empfehlen zur Umformung. Ich bin mir sicher ich muss das Rad
> nicht neu erfinden

Das hat eigentlich mit 'neu erfinden' nicht viel zu tun. Das sind 
ziemliche Basistechniken. Es ist genausowenig 'neu erfinden' wie das 
Kehren eines Raumes mit einem Besen als 'Neuerfinden der 
Reinigungstechniken' zu werten ist. Eine Reinigungskraft muss das können 
und wenn genau das gefragt ist, dann macht sie es einfach ohne sich 
jetzt groß Gedanken darüber zu machen, wie man den Besen verbessern 
könnte.
Selbstverständlich kann sie das nicht von Natur aus, sondern muss das 
erst mal lernen. Also: "erfinde" doch mal!

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

Johannes schrieb:
> Ich möchte eine Art Enigma für Seriennummer erstellen.

Welche Zielgruppe von Seriennummernanwendern hast Du da im Sinne? Dieses 
"Enigma" ist nämlich ausgesprochen trivial, und wird von vielen noch 
nicht mal als solches wahrgenommen.

von Johannes (Gast)


Lesenswert?

Hallo,

ich habe nur Erfahrung im Bereich Atmega & Xmega Programmierung auf 
Basis von C++ und AVR Studio

Ich suche ein Programm mit dem ich eine einfach Oberfläche gestalten 
kann zur Eingabe einer dezimal Zahl danach soll die Zahl in hexadezimal 
umgewandelt werden und die Umwandlung little Endian soll durchgeführt 
werden.
Mir wurde Visual Basic von Microsoft empfohlen kostenlos und einfach 
umzusetzten.


Zu meinem Plan.

Ich will erstmal die Zahl einlesen per Scanf
danach die Stellen erkennen und die Zahl in eine hex Zahl umwandeln.
Danach die entsprechenden Bits maskieren und shiften.
So sollte es funktionieren :-)

Vielliecht hat jemand 5 Min Zeit und hilft mir dabei :-)

Hoffe ich ..

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

Johannes schrieb:
> Ich will erstmal die Zahl einlesen per Scanf
> danach die Stellen erkennen und die Zahl in eine hex Zahl umwandeln.
> Danach die entsprechenden Bits maskieren und shiften.

Warum will das nicht so recht zu

> ich habe nur Erfahrung im Bereich (...) Programmierung auf
> Basis von C++

passen?

von Walter (Gast)


Lesenswert?

Rufus Τ. Firefly schrieb:
> Warum will das nicht so recht zu
>
>> ich habe nur Erfahrung im Bereich (...) Programmierung auf
>> Basis von C++
>
> passen?

Hausaufgabe?

von Programmierer (Gast)


Lesenswert?

Johannes schrieb:
> Umwandlung (2x little Endian) = 7600 8381

das würde ich mit printf lösen; die ausführliche Doku zum "format 
specifier" ist oft in der sprintf Doku versteckt. HTH!

von Cyblord -. (cyblord)


Lesenswert?

Wo ist der Zusammenhang zwischen "Oberfläche in VB" und scanf? Wo liegt 
überhaupt das Problem? Helfen = bitte machen?

von Winfried J. (Firma: Nisch-Aufzüge) (winne) Benutzerseite


Lesenswert?

Ich tippe du kannst zwar einen µC programmieren (oder auch nur 
brennen?), aber weist nicht wie man unter Windows eine Anwendung 
erstellt, ohne ein sonst nicht benötigtes Raumschiff zu starten, da du 
für gewöhnlich Anwenderprogramme (IDE)nutzt , welche alles beherrschen 
was du brauchst und jetzt stehst du vor einem banalen Problem welches du 
an sich beherrscht aber nicht auf den PC zu portieren vermagst richtig?

Für den Hausgbrauch würde ich in einer Dos box ein QBasicprogramm 
erstellen. Aber excel könnte das eventuel auch. Dafür eine Singellösung 
zu schreiben wäre mit Kanonen auf Spatzen geschossen.
Windows hat einen Rechner der kann dec-->HEX, umgruppieren zu Fuss im 
Kopf

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.