C++



  • @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 🙂



  • was ist eigentlich ein Testbett zu einer funktion !!


Anmelden zum Antworten