C++



  • faten schrieb:

    Die int Variable y enthalte den Wert 23. Bestimmen Sie den Wert
    nachfolgender Ausdruecke und geben Sie jeweils zusaetzlich den
    Wert von y und alle Seiteneffekte an:

    Wenn du schon so schreibst, also einfach die Aufgabenstellung abschreibst merkt ja jeder das das deine Hausaufgaben oder sonstiges sind.
    Und die wird dir HIER wahrscheinlich KEINER lösen.

    Du hättest es lieber was schlauer machen sollen und einfach schreiben das du über den Quelltext im I-net gestolpert bist oder so und nicht weißt was da genau passiert(So halt oder Eleganter).
    So hätten dir dann bestimmt welche geholfen 😃



  • Es ist keine Hausarbeit,sondern eine aufgabe von einem klausur!! und die habe ich schon kompiliert und habe schon die Ergebnisse aber ich verstehe bis jetzt noch nicht wie ich die richtige Ergebnisse bekommen kann!! Ich habe mehrere methoden benutzt aber es gelangt nicht!!



  • c1)was hast du rausbekommen?
    c2)was hast du dir überlegt?



  • faten schrieb:

    Ich habe mehrere methoden benutzt aber es gelangt nicht!!

    Was für Methoden ???

    Erkunden dich mal nach bitweise Operatoren und nach der Rangfolge der Operatoren und dann einfach die Regeln anwenden und schritt für schritt durchgehen...

    So lernst du am besten...
    (Und Blatt und Stift für die ganzen 0'en und 1'en nicht vergessen :D)



  • für b1) y | 14 & ~y wobei y=23

    ich hab gefunden y|14 ist gleich 31
    und ~y ist gleich -24

    und y | 14 & ~y ist gleich 31

    und jetzt weiss ich wie ich das ganze bekommen kann!!
    Danke schön für ihre hilfe



  • faten schrieb:

    ~y ist gleich -24

    NöNöö 😃

    y  = 10111 [e]rarr[/e] 23
    ~y = 01000 [e]rarr[/e] 8
    

    😃



  • NÖNÖ

    Du kannst es kompilieren lassen!!Es ist falsch was du geschrieben hast!!eigentlich was ich gefunden habe stimmt schon mit der Muster lösung von diesem Klausur



  • Freak_Coder schrieb:

    y  = 10111 [e]rarr[/e] 23
    ~y = 01000 [e]rarr[/e] 8
    

    😃

    😕 🙄 😮

    Jetzt nicht noch zusätzlich verwirren, nicht helfen ist eine Sache...



  • kommt das nicht irgendwie darauf an, ob du signed oder unsigned-datentypen hast? weil mit unsigned gäbe es -24 garnicht...



  • faten schrieb:

    Muster lösung von diesem Klausur

    Aber hast das ganze wohl immernoch nicht verstanden...
    Zeig mal schritt für Schritt mit 0'en und 1'en wie du zum Ergebnis kommst...

    Ich habe es ja ANSCHEINEND nicht verstanden.. Erklärs mir mal bitte 😃

    Das Ergebnis ist aber schon richtig 😛

    faten schrieb:

    Du kannst es kompilieren lassen!!

    Brauch ich nicht habe ja ein Blatt und nen Kugelschreiben da sieht es schöner drauf aus 👍



  • @faten: Die Operatoren ~, |, & sind bitweise-binaeroperatoren

    was Freak_Coder geschrieben hat stimmt schon, da bei dir NICHT angegeben ist um welche Architektur es sich handelt. Er verwendet eine vorzeichenlose 5-bit Architektur. Und Bitmuster sind ja immer nur interpretationssache.
    Also
    y = 23 = 10111
    14 = 01110
    ~y = y invertiert = 01000
    Jetzt rechne
    10111 ODER 01110 UND 01000

    und wenn du DAS nicht kannst, dann solltest das Semester bzw den Kurs wirklich nochmal wiederholen, denn das ist grundigste Grundlage.



  • pli schrieb:

    was Freak_Coder geschrieben hat stimmt schon, da bei dir NICHT angegeben ist um welche Architektur es sich handelt. Er verwendet eine vorzeichenlose 5-bit Architektur. Und Bitmuster sind ja immer nur interpretationssache.

    Es ist aber für ein int eine Mindestlänge von 16 Bit vorgeschrieben.



  • ich habe das beispiel genommen und kompiliert:

    int a ,b ; // a= 00000000 00000000 00000000 00001001
    a = 9 ; // b= 11111111 11111111 11111111 11110110
    b=~a; // b hat den wert -10

    Man erwartet keine beleidigungen wenn man was fragt und ob ich den kurz wiederholen oder nicht muss ,ist auch meine sache!!



  • Gegeben ist ein Punkt P mit den x-y-Koordinaten (a,b) und ein Kreis
    K um den Nullpunkt mit dem Radius r.
    a) Definieren Sie eine syntaktisch korrekte C-Funktion
    int liegtAussen(float a, float b, float r);
    die 1 liefert, falls P=(a,b) ausserhalb von K mit Radius r liegt
    und 0 sonst.
    b) Testen Sie Ihre Funktion liegtAussen() aus a) mit den drei
    verschiedenen Parametersaetzen (a,b,r)=(0.5,0.5,1), (1,-1,1),
    (-4,3,5), indem Sie den Kreis mit Radius r und den Punkt (a,b)
    skizzieren und das zugehoerige Funktionsergebnis ermitteln (kein
    Schreibtischtest erforderlich!).
    c) Erstellen Sie ein Testbett zu liegtAussen().



  • float betrag = sqrt(a*a + b*b); //Länge des Ortsvektors ausrechnen

    if (betrag > r)
    return 1;
    else
    return 0;



  • Ich habe ja nur 5 Bit genommen damit ich es ja auch verstämdlich zeigen kann...

    Ich hätte ja 8 Bit oder wie Michael sagt 16 nehmen können aber ich wollte es ja so einfach wie möglich veranschaulichen und nicht alles mit 0'en und 1'en voll machen 😃

    @faten: Was soll das denn schon wieder ???



  • Danke Pellaeon !!



  • Freak_Coder schrieb:

    Ich habe ja nur 5 Bit genommen damit ich es ja auch verstämdlich zeigen kann...

    Ich hätte ja 8 Bit oder wie Michael sagt 16 nehmen können aber ich wollte es ja so einfach wie möglich veranschaulichen und nicht alles mit 0'en und 1'en voll machen 😃

    Das Problem ist nur, dass durch deine Vereinfachung was anderes rausgekommen ist.



  • nur als Anmerkung nicht flaten war es, der nicht den Datentyo angegeben hat, er hat eindeutig nach integer gefragt, also ist Coders Lösung falsch zur gegebenen Aufgabenstellung ... .



  • Michael E. schrieb:

    Das Problem ist nur, dass durch deine Vereinfachung was anderes rausgekommen ist.

    Hmm, stimmt. Jetzt fällts mir auch auf. Die ganzen 0'en davor müsssen ja auch invertiert werden. SRY 🙂


Anmelden zum Antworten