Aufzug Aufgabe
-
Hallo,
ich hoffe ich bin im richtigen Forum
folgende Aufgabe:
`Ports C und D sind Eingangs-Ports. An Port C liegt das niederwertige, an Port D das höherwertige Byte einer
vorzeichenlosen 16-bit Binärzahl. Die Zahl gibt den Abstand des Aufzugs vom Boden des Aufzugschachts an.
Steht der Aufzug im Keller beträgt der Wert 50. Für jedes Stockwerk erhöht sich der Wert um 300 (d. h.
Erdgeschoss 350, 1. Stock 650 usw.).
`
ich habe eine Tabelle:
http://img6.imagebanana.com/img/wod8dwrf/thumb/Bildschirmfotoam20111119133142.pngich verstehe nicht wie ich diese füllen soll.
PS: Ich weiss das ist jetzt noch kein C aber darauf folgend habe ich noch ein Frage welche C-Code enthält.
-
Hallo C++Web,
Du musst nichts anderes machen als die Zahlen von Dezimal nach Hexadezimal umwandeln.
Beispiel für den 2. Stock:
Keller = 50
Parterre = Keller + 300 = 350
1 Stock = Parterre + 300 = 650
2 Stock = 1 Stock + 300 = 950950 Dezimal = 03B6 das sind 2 Byte, Port D ist also 03 und Port C ist B6
Herzliche Grüsse
Walter
-
Was hat das nun mit C++ zu tun? Das ist doch wie in der Grundschule: Tabelle ausfüllen mit den Sachen die vorgegeben sind.
Und falls du doch einen Zusammenhang mit C++ siehst: Soll es nun C oder C++ sein? Das ist unklar in deinem Beitrag.Apropos Unklar: Es ist auch äußerst unklar, was du überhaupt wissen möchtest. Außer der vollständigen Lösung deiner Hausaufgaben. Aber die wird dir keiner machen.
-
@weicher
danke hat geholfen, habe die Aufgabe gelöst. Habe wieder zu kompliziert gedacht.
Ich wusste nicht das man hex zahlen einfach auftrennen kann. (Also hier 4e2 in 4 und e2)@SeppJ
ich wollte einfach nur ein Beispiel haben um es zu verstehen.
Der Code kommt ja jetzt
(Wie ich oben im PS schrieb)Nun hab ich folgenden Code:
unsigned int getElevatorPostion() { unsigned int lowbyte=PINC; unsigned int highbyte=PIND; unsigned int position=(highbyte<<8)|lowbyte; return position; }Stimmt es das Zeile 7 alle bits ab der 9 stelle an highbyte übergibt und die ersten acht bits an lowbyte?
Ich kenne mich eigentlich besser mit Java aus. In c++ bin ich noch ein Neuling.
-
Das sind Rechenoperationen. Mach dich mal schlau, was die bedeuten:
<< ist der Linksschiebeoperator
| ist der ODER-OperatorIch kann dir sagen, dass diese Rechnung tatsächlich das macht, was du willst. Aber versuch nachzuvollziehen, warum dies so ist.
-
C++Web schrieb:
Ich kenne mich eigentlich besser mit Java aus. In c++ bin ich noch ein Neuling.
Nee, wenn Du irgendeine nennenswerte Ahnung von Java hättest, würdest Du diesen Code direkt verstehen.
-
Ok danke habe es nachvollzogen.:-)
@lolalter
ich sagte besser nicht gut;)Ich musste das ganze nur wieder etwas auffrischen;)