Klotzkopp Geschrieben 24. September 2007 Geschrieben 24. September 2007 Weißt du, was eine Schleife ist? Zitieren
aLeXanDer.. Geschrieben 24. September 2007 Autor Geschrieben 24. September 2007 macht man um ein geschenk ne spaß beiseite , im Grunde schon ja Eine Anwendung die immerwieder abläuft. Zitieren
Klotzkopp Geschrieben 24. September 2007 Geschrieben 24. September 2007 ne spaß beiseite , im Grunde schon jaWas heißt "im Grunde"? Kannst du mit for, do und while etwas anfangen? Der Algorithmus beschreibt eine Schleife, also solltest du das im Code auch durch eine Schleife wiedergeben. Zitieren
aLeXanDer.. Geschrieben 24. September 2007 Autor Geschrieben 24. September 2007 while und for ja do noch nicht wobei noch nichts in vorher in dem kurs beschrieben wurde , kenns nur vom arbeiten mit Windowsprogrammen. Zitieren
Klotzkopp Geschrieben 24. September 2007 Geschrieben 24. September 2007 Wenn du also wirklich noch keine Schleife benutzen sollst, dann ist der andere Ansatz vermutlich besser: Wenn X größer oder gleich 128 ist, gib 1 aus und vermindere X um 128, ansonsten gib 0 aus. Wenn X größer oder gleich 64 ist, gib 1 aus und vermindere X um 64, ansonsten gib 0 aus. Wenn X größer oder gleich 32 ist, gib 1 aus und vermindere X um 32, ansonsten gib 0 aus. Wenn X größer oder gleich 16 ist, gib 1 aus und vermindere X um 16, ansonsten gib 0 aus. Wenn X größer oder gleich 8 ist, gib 1 aus und vermindere X um 8, ansonsten gib 0 aus. Wenn X größer oder gleich 4 ist, gib 1 aus und vermindere X um 4, ansonsten gib 0 aus. Wenn X größer oder gleich 2 ist, gib 1 aus und vermindere X um 2, ansonsten gib 0 aus. Wenn X größer oder gleich 1 ist, gib 1 aus und vermindere X um 1, ansonsten gib 0 aus. Zitieren
Bubble Geschrieben 24. September 2007 Geschrieben 24. September 2007 Noch ein kleiner Hinweis: Intern werden alle Zahlen binär dargestellt. Es ist möglich, die Zahl als binäre Zeichenfolge, unter Verwendung von zwei auf binären Zahlen arbeitenden Operatoren, auszugeben. Die Umsetzung ist sehr kurz. Versuche es einfach mal. Zitieren
aLeXanDer.. Geschrieben 26. September 2007 Autor Geschrieben 26. September 2007 hab es jetzt folgendermassen durchdacht. wenn es heißt mann soll es mit bitoperationen machen. dann erstelle ich 2 verschiedene variablen mit jeweils demselben wert und lasse diese über die Bitoperation UND vergleichen und diese operation gibt dann jeweils 1er aus an denen die beiden zahlen übereinstimmen. da es gleiche zahlen sind , müsste ich genau mein ergebniss erhalten. stimmt ihr mit mir über ein ? Zitieren
Klotzkopp Geschrieben 26. September 2007 Geschrieben 26. September 2007 dann erstelle ich 2 verschiedene variablen mit jeweils demselben wert und lasse diese über die Bitoperation UND vergleichenDas kannst du dir sparen. Da kommt doch wieder derselbe Wert raus. Die Aufgabenstellung ist ziemlich schwammig, vermutlich, weil nicht ganz klar ist, was du benutzen sollst, und was nicht. Ich vermute, dass mit Bitoperationen gemeint ist, dass du die einzelnen Bits ausmaskieren sollst: if( c & 128 ) cout << '1'; else cout << '0';[/code] usw. Du kannst die Zweierpotenzen auch durch Schiebeoperationen ermitteln, wenn du willst: [code]if( c & ( 1 << 7 ) ) Zitieren
Bubble Geschrieben 26. September 2007 Geschrieben 26. September 2007 stimmt ihr mit mir über ein ? Nein, so war es nicht gemeint. Ich poste mal etwas C++ Quelltext, der Dir die Bits einer Zahl vom Typ char ausgibt. Versuche aber bitte zu verstehen, warum es funktioniert, z.B. indem Du die einzelnen Zwischenschritte auf einem Blatt Papier in binärer Schreibweise durchgehst. Wenn es Fragen gibt, dann frage ruhig. char zahl = 123; for(int i=7;i>=0;i--) std::cout << ((zahl >> i) & 1); Die Schleife läuft rückwärts, damit die Ausgabe mit den "höherwertigen" Bits beginnt, bis sie mit dem geringwertigsten Bit endet. Dieses entspricht der gängigen Schreibweise von Binärzahlen. Der Bit-Shift-Operator ">>" schiebt die Bits in der Variablen "zahl" um i-Stellen nach rechts, so dass das als nächstes auszugebende Bit ganz rechts steht. Der binäre Und-Operator "&" setzt durch eine Verknüpfung mit 1 alle Bits außer dem ganz rechten Bit auf 0, damit nur dieses eine Bit bei der Ausgabe der jeweils nächsten Stelle (der Zahl in binärer Darstellung) in der Schleife berücksichtigt wird. Dadurch ist auch sichergestellt, dass pro Stelle nur 0 oder 1 ausgegeben wird. Falls das Beispiel Dinge benutzt, die Du noch nicht kennst, z.B. die Operatoren ">>" und "&": Grundsätzlich kann man auch mit Divisionen und Divisionsresten arbeiten. Die obige Vorgehensweise nutzt hingegen aus, dass die Zahlen im Computer bereits binär vorliegen und man nur die einzelnen Stellen für die Ausgabe extrahieren muss. Zitieren
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.