Beiträge von Plantschkuh!
-
-
Die Lösung ist, wie oben schon erwähnt, Variablen in Header-Files immer mit "extern" zu deklarieren. Und in genau einem Code-File dann eine Definition der Variablen anführen, also eine Wiederholung der Deklaration ohne "extern". (Blabla, globale Variablen böse, blabla.)
-
Wie ist eigentlich die Definition von "normalisiert" bzw. "normiert"?
Wie du selber schreibst, heißt eine Zahl dann normiert, wenn das erste Bit der Mantisse 1 ist. Der Grund dafür ist folgender: Wenn wir wissen, daß dieses Bit immer 1 ist, dann brauchen wir das Bit gar nicht speichern! Man kriegt also, wenn man immer normierte Zahlen verwendet, ein Mantissenbit gratis.Zitat0 lässt sich nicht als normierte (Gleitpunkt-)Zahl darstellen
Richtig. Da gibts irgendwelche Übereinkünfte, wie 0 dargestellt werden soll; ich hab vage was von lauter 0-Bits in der Mantisse und dem kleinstmöglichen Exponenten im Kopf. Das wären dann also tatsächlich nur 0-Bits, was man in Hardware auch sehr effizient feststellen kann. Ich weiß aber nicht, ob ich mich da richtig erinnere.ZitatEntspricht single short real und double long real?
Die Begriffe sagen mir nicht viel, wo hast du sie her? Wenn short/long real aus dem IEEE-Standard oder der Architekturbeschreibung eines Prozessors stammen, und mit float/double die Typen von C, C++ oder ähnlichem gemeint sind: Ja, von den Namen her klingt das so. Compiler haben aber oft eine gewisse Flexibilität bei der Auswahl von Datentypen. Zum Beispiel könnte ein C-Compiler für float und double den selben Typen wählen.ZitatDer wird ja zumeist als Exponent + Bias gespeichert. Bei short real beträgt der Biaswert 127, bei long real 1023.
Nun bin ich auf folgenden Widerspruch gestoßen:
Bei einer Zahl mit 8-Bit-Exponent ist der kleinste möglich Exponent -128, der größte 127. Aber wie kann das sein, wenn der Exponent immer als Summe von e + 127 gespeichert wird?
Wenn e bspw. mal 120 wäre, wäre die Summe ja gar nicht mehr mit 8 Bit darstellbar. Der größte mögliche Exponent wäre demnach 0. 80
Ich denke, der Bias bei 8 Bit sollte 128 sein. Dann entspricht das Bitmuster 00000000 dem Exponenten -128, das Bitmuster 1000000 dem Exponenten 0, und das Bitmuster 11111111 dem Exponenten 127. Der Exponent 120 wäre als 128 + 120 = 248 mit 8 Bits darstellbar. Wenn der Bias doch 127 ist, sind diese Bitmuster um 1 daneben, aber auch 127 + 120 passt in 8 Bits. -
Das Vorzeichenbit einer Gleitpunktzahl gibt an, ob diese negativ oder positiv ist. Es handelt sich also auch hier einfach um eine Zweierkomplementdarstellung?
Nein, üblicherweise sign-magnitude ("Vorzeichen und Betrag"). Hat auch genau ein Vorzeichenbit, wie auch andere (aber nicht alle) Verfahren zur Darstellung negativer Zahlen.ZitatWenn das System eine Zahl geliefert bekommt, wie stellt es dann den Wert des Exponenten fest?
Der ergibt sich aus der Zahl der Stellen vor dem Punkt bzw. der Zahl der Nuller hinterm Punkt. Wenn etwa vor dem Punkt die Zahl 7 steht, wird der Punkt um 3 verschoben, weil 3 Bits notwendig sind, um 7 darzustellen.ZitatWie wird eine dezimale Gleitpunktzahl in eine binäre umgewandelt und andersrum?
Anschaulich gesehen kannst du mal den ganzzahligen und den gebrochenen Teil voneinander getrennt betrachten. Der ganzzahlige Teil wird wie gewohnt umgewandelt. Der gebrochene Teil so ähnlich, nur daß du ihn aus negativen Zweierpotenzen zusammensetzt: Statt zu schauen, wie du die Zahl als Summe von 1, 2, 4, 8 usw. formen kannst, nimmst du stattdessen 1/2, 1/4, 1/8 etc. Bei der Rückrechnung werden entsprechend die Bits hinter dem Punkt mit dem jeweiligen Bruch multipliziert.Z.B. die Umwandlung von 1.6 dezimal nach binär mit fünfstelliger Mantisse: Der ganzzahlige Teil 1 braucht ein Bit, es bleiben also vier Bits hinterm Punkt. Wir sehen uns 0.6 an: Da passt 1/2 hinein, also ist das erste Bit hinterm Punkt 1, und es bleibt 0.1 zum Umwandeln. Der nächste Bruch, 1/4, geht nicht in 0.1 hinein; auch nicht der übernächste, 1/8. 1/16 geht in 0.1 hinein, also ist das vierte Bit hinterm Punkt wieder 1. Es bleibt ein Rest, aber wir haben bereits alle Mantissenbits verbraucht, also wird abgeschnitten. Wir kriegen als Ergebnis 1.1001.
Um wieder ins Dezimalsystem zu kommen, rechnen wir: 1 + 1/2 + 0/4 + 0/8 + 1/16 = 1.5625. Das ist die beste Annäherung, die wir mit so wenigen Mantissenbits hinkriegen.
ZitatWas passiert, wenn 2 Zahlen mit unterschiedlichen Kommastellen addiert werden?
[...]
Wie verhält es sich hier mit dem Exponenten der Summe?
Wird immer automatisch der größte Exponent aus den Summanden (hier 2) auch für das Ergebnis gewählt?
Nein. Während der Berechnung wird zwar auf den größten Exponenten gebracht, aber das Ergebnis wird üblicherweise wieder normalisiert gespeichert. -
Vier Spaces. (Oder acht oder zwei oder drei oder sonstwas.) Keine Tabs.
-
traurig ist halt wirklich der wahre zweck dieser forschungen.
Nur weil DARPA draufsteht, heißt das nicht, daß der einzige Grund dafür das Massakrieren von Menschen ist. Die treiben schon sehr viel allgemeine bzw. Grundlagenforschung. Die US Army hat zumindest in den Siebzigerjahren eine Gruppe gehabt, die sich mit optimierenden Compilern beschäftigt hat... -
Ob "alle Anwendungen" kompatibel sind, kommt drauf an, was "alle Anwendungen" sind. Bei 64-Bit-Ubuntu sind natürlich alle Pakete für 64 Bit kompiliert. Ich fahr selber Ubuntu mit 64 Bit, und nur für Skype hab ich ein paar 32-Bit-Libraries nachinstallieren müssen. Das blüht einem natürlich, wenn man irgendwelche Pakete haben will, die nicht Teil von Ubuntu sind und die nur als 32-Bit-Binaries verbreitet werden. Mußt du wissen.
-
[ad: GIS ist eine Gebühr für etwas, was man im weitesten Sinne konsumiert.]Da muss ich dir wiedersprechen, denn die GIS funktionieren voellig unterschiedlich von herkoemmlichen Gebuehren:
Das Produkt, fuer dessen Konsum die hier bezahlst, ist nicht der Fernseher oder das Fernsehen, sondern konkret das Programm des ORF. Privatsender finanzieren sich ja z.b. unabhaengig von der GIS. Tatsaechlich verrechnet wird aber eben nicht der Konsum des ORF, sondern der Besitz eines Geraetes, mit dem man das unverschluesselte und oeffentlich zugaenglichen Programm des ORF empfangen kann. [...]
Das ist also im Prinzip so, als wuerde jemand eine Webseite oeffentlich ins Netz stellen und dann verlangen, dass jeder, der in der Lage waehre sie sich anzuschauen, dafuer eine Gebuehr zahlen muss.
Das stimmt alles, es ist aber nicht sooo viel anders als andere Gebühren oder Beiträge, die man zahlen "muß".Beispiel Sozialversicherung: Die zahlt man als unselbständig Beschäftigter auch nicht fürs Kranksein, sondern fürs "potentiell Kranksein". Wobei dieses "potentiell" einfach darauf aufgehängt ist, ob man einen Job hat oder nicht. Einen Fernseher haben, den man nicht für den ORF verwendet, ist in diesem Sinne genauso herausgeworfenes Geld wie einen Job zu haben und kerngesund sein.
Da ist für mich aber trotzdem ein Unterschied. Das sind Institutionen, die sich für das Recht der Arbeiter/Studierenden eintritt und seine Interessen vertritt.
Das fehlt mir irgendwie bei der GIS.
Gratuliere, du hast verstanden, warum ich mich dagegen ausgesprochen hab, die ÖH mit der GIS zu vergleichen. -
1. Zwangsbeitrag (Zwang mag ich einfach nicht... siehe ÖH)
1a. Es ist eine Gebühr für etwas, was du konsumierst; du hast die Wahl, das "etwas" nicht zu konsumieren, indem du dir keinen Fernseher anschaffst.
1b. Die ÖH ist die gesetzliche Interessensvertretung der Studenten, genau wie die Arbeiterkammer die gesetzliche (ebenso verpflichtende) Interessensvertretung der Arbeitnehmer ist. Hab noch keinen von den Leuten, die aus prinzipiellen Gründen gegen die ÖH-Pflichtmitgliedschaft protestieren, bei einer Anti-AK-Demo gesehen...ZitatKaum welche, da werden lieber Millionen für FIFA rechte rausgeschmissen was mich gar nicht interessiert, und dafür will ich nicht zur Kasse gebeten werden
Da hast du allerdings recht. (Wobei ich übrigens auch kein großes Interesse daran hab, daß meine Rundfunkgebühren im Namen des Bildungsauftrags der Netrebko ins Geldbörsel fließen.) -
Ich wollte euch kurz unser Maturaprojekt vorstellen (ein Browsergame)
Für die Matura muß man heutzutage eine GmbH gründen? Donnerwetter, das ist noch teurer als zu meiner Zeit die Bestechungsgelder!ZitatWas hällt ihr davon?
Ich persönlich habs ganz gern, wenn ich die Kontrolle über den Back-Button in meinem Browser behalten kann. Sprich: JavaScript zur Navigation nervt. Inhaltlich werd ich mir das Spiel vielleicht auch mal anschaun.Edit: Cookies sucken, und selbst mit ihnen geht die Captcha-Überprüfung bei mir oft schief. Hmmm, welche Note habts ihr auf den Login-Screen gekriegt?
-
\label muß immer nach dem Element kommen, auf dessen Nummer du dich beziehst. In diesem Fall wird die Nummer von \caption erzeugt, also wenn du \label dahinter hintust, sollts passen. \begin{figure} erzeugt keine Nummer für labels.
-
OK, das glaub ich sofort
-
Auch, wenn für den erfahreneren Programmierer das Schreiben von Code im Texteditor und das Kompilieren und Ausführen im Terminal anstrengend wirkt
Ahso? (Stimmt schon, alles außer einer REPL ist eigentlich menschenunwürdig. Aber ich sehe nicht, inwiefern mein trusty vi anstrengender sein soll als Eclipse.) -
Dann ist t wohl kein unsigned long, sondern (unsigned long *) ? Also z.B. in Zeile 812 das erste Sterndl wegtun...
-
Jemand nen Plan?
[glaskugel]Am ehesten: Die Warning bezieht sich auf die Zeile, in der du den Rückgabewert von ora_oci_fetch_row zuweist, und du hast den Header, der ora_oci_fetch_row deklariert, nicht (richtig) inkludiert.[/glaskugel]Bitte den echten Codeausschnitt posten, Zeilen nummerieren, und die Zeilennummer der Warning auch angeben. Die "assignment makes pointer"-Warning bezieht sich bestimmt nicht auf den Beispielcode, den du gepostet hast, weil da kein Assignment drin vorkommt! Wenn schon, wär der Fehler "initialization makes pointer...". Zumindest bei meiner Version vom GCC.
-
Und kann MACOSX so viel mehr als Linux wie z.B.: ubuntu .....??????
Nein. Mit WINE laufen übrigens auch sehr viele Windows-Programme unter Linux. -
-
Jou, innerhalb der EU kommen viele Ausländer nur mit Personalausweis nach Österreich. Ist praktischer, da Scheckkartenformat... Ansonsten ist das Ding auch ein vollwertiges Reisedokument (maschinenlesbar), also seh ich nicht ein, warum ihn irgendwer nicht als Ausweis anerkennen sollte.
-
Lustiges Rätsel. Es gibt eine andere Formulierung, in der es um Frauen geht, die ihre Männer betrügen[1]. Da wissen die Männer natürlich, mit wessen Frau sie bumsen, aber sie wissen nicht, mit wem es ihre eigene Frau macht. Wer aber rausfindet, daß seine Frau ihn betrügt, erschlägt sie (oder lässt sich von mir aus scheiden). Es stellt sich wiederum einer hin und sagt "Es gibt mindestens einen Mann, dessen Frau ihn betrügt", und der Wahnsinn nimmt seinen Lauf. Irgendwie so.
Ich glaub, diese Formulierung ist in der logischen Forschung verbreiteter, oder zumindest ist es die ursprüngliche Form. Eine rudimentäre Wikipedia-Suche hat nichts ergeben.
Irgendwie komm ich nicht dahinter..
Die folgenden Spoiler enthalten NICHT die Lösung und auch NICHT den Lösungsweg, sondern nur einige logische Betrachtungen, die einen vielleicht in die richtige Richtung schubsen. Sie sind also nicht wirklich kritisch, aber vielleicht mag der eine oder andere nichtmal diese sehr vagen Hinweise sehen.Spoiler anzeigen
Was man sich klarmachen muß, und was nicht explizit in der Angabe steht: Die Menschen auf der Insel wissen, daß sie und die anderen perfekte Logiker sind, sie wissen, daß sie und die anderen alle logisch ableitbaren Sätze wissen.
Formal gesehen braucht man (etwas äquivalentes zu) Modallogik, aber auch mit der wäre es eine gewisse Schreibarbeit, das in Formeln zu Papier zu bringen. Der Chris Fermüller bringt in seiner exzellenten LVA Nichtklassische Logiken unter anderem dieses Beispiel in der oben angesprochenen Form.
[1] Hallo klausi! Du fragst dich an dieser Stelle sicher, warum gerade die Frauen die Männer betrügen. Ist das nicht schon wieder typisch frauenfeindlich, die Frauen als Täter (hehe) darzustellen? Nein! In der Tat ist dies eine zutiefst feministische Formulierung des Problems, da die Frauen explizit emanzipiert genug sind, sich ihre Sexualpartner frei von gesellschaftlichen Zwängen und männlicher Unterdrückung auszusuchen. Außerdem hätte ich natürlich was von Personen schreiben können, die ihre Ehepartner betrügen, aber weil es "die" Person ist und "Partner" die Endung "-er" trägt, hättest du mal wieder Morphologie mit Semantik verwechselt und geglaubt, daß Buchstabenfolgen Geschlechtsorgane sind. -
programmieren wird dir das hier wohl keiner
Ganz im Gegenteil, Madame!viel glück beim umformen für mich
Umformen? Kannst du haben!Code
Alles anzeigenmodule Main where import IO main :: IO () main = do putStr "Zahl mit Prüfziffer eingeben: " hFlush stdout input <- getLine if valid input then testChecksum (map digitToInt input) else putStrLn "ungültiger Zahlenwert" valid :: [Char] -> Bool valid str = length str >= 2 && length str <= 7 && all isDigit str testChecksum :: [Int] -> IO () testChecksum str = do if checksum (init str) == last str then putStrLn "okay" else putStrLn ("falsche Prüfziffer - richtige lautet: " ++ show (checksum (init str))) -- diese Definition ist vielleicht ein bissi zu cute checksum :: [Int] -> Int checksum = (flip mod) 10 . checksum' . reverse checksum' :: [Int] -> Int checksum' [] = 0 checksum' [x] = x checksum' (x:y:xs) = x + reduce (2 * y) + checksum' xs where reduce n | n >= 10 = 1 + (n `mod` 10) | otherwise = n
Das deckt sich nicht vollständig mit der Spezifikation, aber CBA.