Hallo allen, wie schon im betreff gesagt, ich verstehe diese Funktion nicht, oder eher gesagt, ich verstehe diese teilweise. Auf dem lcd soll dann dieser wert rauskommen: C0. Kann mir bitte jemand erklaeren, wie dieser wert zu stande kommt. Weil vor der "C" mus es ja noch irgend ein wert geben, und wie es dann mit dem lower nibble funktioniert, ich kopiere es einfach nicht. Kann mir bitte jemand helfen?
Läuft irgendwo ein Wettbewerb, wer den bescheuertsten Anhang hochlädt? Ein echter "Screenshot" und dann noch mit 5MB für eine Information von ein paar hundert Byte.
Schau halt in einer ASCII-Tabelle nach. Auf Wikipedia findest du auch eine. Sogar mit Hex-Spalte. Allerdings kann man in C auch gleich das Zeichen hin schreiben:
1 | return digit + '0'; |
entsprechend für das 'A'
Ok, habe jetzt den anhang geaendert, koennt ihr es jetzt bitte erklaeren, aber bitte schrittweise
Wo liegt dein Problem, verstehst du alles nicht oder nur einen Teil?
DirkB, ich habe im ascii nachgeschaut, und was in int2ascii steht, verstehe ich auch. Aber schau, da ist ein achtstelliger code im value. So danach verschiebe ich um vier stellen nach rechts und bekomme den oberen nibble. Danach konvertiere ich in ascii und wird in index 0 reingeschrieben, aber beim ausgeben erscheint dieser nicht. Das ist das eine. Danach gehe ich weiter, und was passiert bei "i=value&0x0F" verstehe ich nicht
Max H, Also ist klar, bitweise. Ich habe versucht es mir auszurechnen. So wie ich es verstehe, habe ich zum beispiel fuer value 0110 0011 und fuer 0x0F habe ich dann 0000 1111, das heisst ich kriege kein lower nibble, wie kommt er da drauf
Dan Hushaev schrieb: > Ok, habe jetzt den anhang geaendert Dafür ist kein Anhang nötig. Die paar Zeilen kannst du auch hier rein kopieren und zwischen die c-Tags setzten, so wie es direkt über dem Edit-Feld unter Formatierung steht. Dann könnte man deinen Code nehmen und kommentieren. Wenn der Code länger ist, dann hänge ihn als Code an und nicht als Bild. Bei i=value&0x0F ist & das binäre und und bei 0xf sind die untersten 4 Bit alle auf 1 gesetzt. Damit bekommst du nur die untersten 4 Bits aus value. Das Ergebnis wird nach i geschrieben. Dan Hushaev schrieb: > aber beim ausgeben erscheint dieser nicht. Wie rufst du denn die Funktion auf. Ist im char-Array genug Platz?
0110 0011 0x63 0000 1111 & 0x0F ========= 0000 0011 0x03
Ich habe jetzt den kompletten code als anhang reingefuegt
Dan Hushaev schrieb: > Ich habe jetzt den kompletten code als anhang reingefuegt Das ist ja schon wieder ein Bild.
Ok DirkB, also ist der 0011 bei mir dann der lower nibble, und wie komme ich dann auf den upper nibble. Weil ich dachte, wenn ich um vier stellen nach rechts verschiebe, dann fallen die ersten vier ziffern raus, d.h., wenn ich 0110 0011 habe, faelt bei mir 0110 raus, und 0011 ist geblieben. Deshalb habe ich gedacht, dass die rechte haelfte des codes der upper nibble ist, und die linke seite des codes, der lower nibble
Das steht doch aber >> (rechts schieben) 0110 0011 mir 4 Stellen nach rechts kommt dann 0000 0110 und das ist dann 0x06 Du willst ja auch die linke Stelle zuerst haben. value bleibt davon unberührt, da das Ergebnis in i abgespeichert wird.
Dan Hushaev schrieb: > DirkB, ich habe es nur als bild Du hast das nicht als Code zum ausprobieren vorliegen? Wie willst du dann mit dem Code rumspielen und etwas lernen?
"0110 0011 mir 4 Stellen nach rechts kommt dann 0000 0110 und das ist dann 0x06" Ich dachte er verschiebt um vier stellen von anfang, so dass ich dann 0000 0011 habe, und von der mitte, dass ich danach 0000 0110
Er verschiebt es, speichert das Ergebnis der Verschiebung aber nicht in value, sondern in i.
Ok, sorry, da hat mir wohl das grundwissen gefehlt, sorry fuer das verschwenden deiner zeit
Ich habe habe das verschieben um vier stellen falsch verstanden. Wenn man >>4 angibt, dann fallen die letzten vier stellen raus, und dachte umgekehrt, dass es die ersten vier waeren
@Dan Schmeiß doch mal den Taschenrechner an. Sowohl der von Windoof als auch der im Linux hat einen "Programmierer Modus". Da kannst Du dir, im wahrsten Sinne des Wortes, ansehen was mit den einzelnen Werten passiert, wenn Du sie z. B. verschiebst. Auch die Dezimalen, binären und sedezimalen Äquivalente kannst Du Dir jederzeit reinziehen.
>Windoof = *Windows
Danke für den Hinweis, währe ich ohne Dich wohl nicht drauf gekommen.
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.

