Zum Inhalt springen

Zahlen Binär darstellen


aLeXanDer..

Empfohlene Beiträge

z.B ich hab ne char variable mit dem wert Ox55 und diese soll an Binäre Zahl ausgegeben werden. wie mach ich das!??

Genauso wie du es schriftlich machen würdest: Durch Prüfen, welche Zweierpotenzen reinpassen, oder durch Notieren des Rests der wiederholten Division durch 2 und anschließendes Umdrehen.

Oder weißt du nicht, wie man das in C++ umsetzen könnte? Wo genau hakt es denn?

Link zu diesem Kommentar
Auf anderen Seiten teilen

ja daran liegts, ich weiß nicht wie ich das in C++ umsetzen kann
Welche Methode verwendest du denn? Und wo genau liegt das Problem?

Warum bringt mein compiler nen fehler wenn ich die variable

char nChar = Ox55; definiere?!

Weil da der Buchstabe O steht. Da muss aber die Ziffer Null hin: 0x55.

Tipp für die Zukunft: Immer die genaue Fehlermeldung angeben. Wenn es nicht gerade so ein trivialer Fehler ist wie in diesem Fall, hilft "nen fehler" nicht weiter.

Hilf mir ma ;)
An deiner Einstellung solltest du auch noch arbeiten ;)
Link zu diesem Kommentar
Auf anderen Seiten teilen

jah gibt es keinen befehl in der Sprache C++ denn ich verwenden kann?
Nein, strenggenommen gibt es in C++ gar keine Befehle. Aber das ist semantische Haarspalterei ;)

Es gibt viele Möglichkeiten, das zu tun, aber keine, die mit einer einzigen Anweisung auskommt. Daher solltest du nun bitte erst mal klarstellen, welche Methode du verwendest.

Link zu diesem Kommentar
Auf anderen Seiten teilen

aber ich komm nicht dahinter wie man es anders machen kann

mit bitoperationen

Und wenn du dabei jetzt Hilfe möchtest, solltest du anfangen, meine Fragen zu beantworten.

Warum kannst du genau das, was du da "von Hand" getan hast, nicht in C++ umsetzen?

Nur so am Rande: Für dein Programm ist es egal, ob die Zahl als Hex oder Dezimal in deinem Quellcode steht. Das wäre nur wichtig, wenn du die Zahl als String entgegennehmen müsstest. In einem char (oder short, int, long) steht sowieso nur der Wert, ohne irgendeine Codierung in einem Zahlensystem.

Link zu diesem Kommentar
Auf anderen Seiten teilen

weil ich nicht darauf komme Wie ich das in C++ umsetzen soll.
Irgendwie drehen wir uns im Kreis.

Es bringt nichts, wenn du immer wieder nur sagst, dass du nicht weißt, wie das geht. Du musst dein Problem schon etwas genauer beschreiben.

Wenn du zum Arzt und nur sagst: "Mir tut was weh", dann wird er dir auch nicht weiterhelfen können.

Schritt 1:

Halte deinen Algorithmus schriftlich fest, auf Deutsch (nicht C++).

Schritt 2:

Setze die einzelnen Teilaufgaben des Algorithmus in C++ um.

Bei welchem Schritt kommst du nicht weiter? Falls es Schritt 2 ist: Welche Teilaufgabe ist das Problem?

Link zu diesem Kommentar
Auf anderen Seiten teilen

Mhh ich probiers mal

Die aufgabe ist es einer char variabele den Wert 0x55 zuzuordnen und

die char variabele als binäre zahl(nur 1 und 0) auszugeben.Dazu soll man nur Bitoperationen verwenden.

desweiteren soll man bei einer short variable mit dem wert 10 das 1er Komplement bilden.

Im Quelltext habe ich dann geschrieben

char charVar = 0x55;

short shortVar = 10;

double result

int main ()

{

? ? ? (<-- in meinem logischen denken ^^, eignet sich keine Bitoperation um eine Variable als eine binäre Zahl auszugeben. Mir sind bekannt die UND , ODER und EXKLUSIV-ODER Operatoren.Entweder steh ich am schlauch oda ich weiß es nicht.)

result = ~shortVar;

std::cout << result << std::endl;

result += 1

std::cout << result;

}

ich weiß nicht ob ich nun auf deine Frage eingehen konnte.

Link zu diesem Kommentar
Auf anderen Seiten teilen

ich weiß nicht ob ich nun auf deine Frage eingehen konnte.
Du musst dir zuerst überlegen, wie du vorgehst, bevor du das dann in C++ umsetzen kannst.

Hast du den Schritt 1, den ich oben erwähnt habe, überhaupt gemacht?

Du kannst Schritt 1 weglassen, wenn es um ein (für dich) triviales Problem geht, aber das ist ja offenbar nicht der Fall.

Also führ doch bitte Schritt 1 wirklich mal durch, und zeig das Ergebnis. Das Ergebnis ist übrigens ein Text in deutscher Sprache, kein Code.

Link zu diesem Kommentar
Auf anderen Seiten teilen

ich glaub ich steh am schlauch.

Also schriftlich festgehalten will ich so vorgehen wie in der aufgabe beschrieben

ich definiere char mit dem vorgegebenen wert

und möchte dann das dieser wert als eine binäre Zahl im Ausgabe Fenster wiedergegeben wird.

Das Problem hierbei ist, dass ich nicht auf die Lösung komme , wie ich es schaffe die variable als binäre zahl darzustellen.

ich weiß zwar wie die binäre zahl lauten muss , aber ich kann es im compiler nicht realisieren. Mir fehtl der Lösungsweg.

entweder versteh ich net was du meinst und umgekehrt

oder ich bin ein hoffnungsloser fall :D

Link zu diesem Kommentar
Auf anderen Seiten teilen

ich definiere char mit dem vorgegebenen wert

und möchte dann das dieser wert als eine binäre Zahl im Ausgabe Fenster wiedergegeben wird.

Das ist nur die Wiedergabe der Aufgabenstellung.

Das Problem hierbei ist, dass ich nicht auf die Lösung komme , wie ich es schaffe die variable als binäre zahl darzustellen.

ich weiß zwar wie die binäre zahl lauten muss , aber ich kann es im compiler nicht realisieren.

Lass doch erst mal den Compiler weg! Formuliere die Vorgehensweise erst mal auf Deutsch. Code kommt später!

Beschreibe das, was du da von Hand gemacht hast.

Link zu diesem Kommentar
Auf anderen Seiten teilen

ich habe die Zahl 0x55 in eine dezimale Zahl umgewandelt, jedoch wäre das eigentlich nicht nötig , hast du gemeint.

Die Zahl 85 , die das Ergebniss dieser umwandlung ist, habe ich dann durch ständiges teilen druch 2. in eine binäre Zahl umgewandelt.

Ergebniss 01010101.

tut mir leid wenn ich hier zum Probelmfall werd

Link zu diesem Kommentar
Auf anderen Seiten teilen

Die Zahl 85 , die das Ergebniss dieser umwandlung ist, habe ich dann durch ständiges teilen druch 2. in eine binäre Zahl umgewandelt.
Genau darauf wollte ich hinaus. Das musst du jetzt noch genauer formulieren. Beschreibe jeden einzelnen Schritt.

(Nur am Rande: 85 und 0x55 ist dieselbe Zahl. Aber für Menschen ist es meist einfacher, mit Dezimalzahlen zu arbeiten.)

Ergebniss 01010101.
Wir brauchen nicht das Ergebnis, wir brauchen die Vorgehensweise. So einfach, dass jeder Depp sie befolgen könnte (denn der Computer ist ein Depp).

tut mir leid wenn ich hier zum Probelmfall werd
Keine Sorge :)
Link zu diesem Kommentar
Auf anderen Seiten teilen

aight?
Das sieht schon gar nicht schlecht aus, auch wenn es mir etwas zu sehr nach Code aussieht. Du kannst das vereinfachen, wenn du X nach jedem Schritt änderst:

Notiere den Rest der Division von X/2

Teile X durch 2

Notiere den Rest der Division von X/2

Teile X durch 2

Notiere den Rest der Division von X/2

Teile X durch 2

Notiere den Rest der Division von X/2

Teile X durch 2

usw.

Da das jetzt eigentlich nur Wiederholungen derselben Teilschritte sind, kann man sie in einer Schleife zusammenfassen:

Solange X nicht 0 ist, notiere den Rest der Division von X/2 und dividiere X danach durch 2.

Der Algorithmus hat noch das Problem, dass die Ausgabe in der falschen Reihenfolge ist (die rechte Ziffer wird zuerst notiert), wir müssen das Ergebnis also am Ende noch umdrehen. Aber das machen wir später.

Kannst du diese Schleife in C++ umsetzen?

Link zu diesem Kommentar
Auf anderen Seiten teilen

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.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...