C++
-
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 -24und 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 01000und 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 -10Man 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 !!