Du bist nicht eingeloggt! Möglicherweise kannst du deswegen nicht alles sehen.
  (Noch kein mods.de-Account? / Passwort vergessen?)
Zur Übersichtsseite
Hallo anonymer User.
Bitte logge dich ein
oder registriere dich!
 Moderiert von: Irdorath, statixx, Teh Wizard of Aiz


 Thema: pOT-lnformatik, Mathematik, Physik XVII ( Code drunk, debug sober! )
« vorherige 1 2 3 4 5 6 7 8 [9] 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 nächste »
erste ungelesene Seite | letzter Beitrag 
Rufus

AUP Rufus 12.02.2008
MCignaz hat sich da einen schönen Musterfall des Selbststudiums aufgerissen.

Step 1: Meine nächste Idee is sicher easy, ich weiß nur nich genau wie es geht.
Step 2: Oh.
Step 3: Grundlagen über [Gleitkommadarstellungen|Testmethodik] studieren
Step 4: Umsetzen. Go to Step 1.
14.09.2014 16:07:12  Zum letzten Beitrag
[ zitieren ] [ pm ] [ diesen post melden ]
[smith]

AUP [smith] 29.07.2010
 
Zitat von csde_rats

Ohne schmutzige Tricks: gar nicht.

Floats haben eine Auflösung abhängig von der Größe des Wertes, entsprechend liefert

for(double x = DBL_MIN; x < DBL_MAX; x += DBL_MIN) {
...

nicht das erhoffte Ergebnis.

Und wie oben schon angedeutet: das geht rein zeitlich nicht. Ein float, gut, das geht. Double hat dann schon was um die 2**64 und long double um die 2**80 Werte.


Hmhm, ich kann jetzt tatsächlich kein C++... wäre diese for-Schleife nicht falsch? Muss man da nicht bei -DBL_MAX anfangen, wie auch in Java?
14.09.2014 16:27:09  Zum letzten Beitrag
[ zitieren ] [ pm ] [ diesen post melden ]
csde_rats

AUP csde_rats 04.09.2021
Schon ja, aber das Detail ist egal, terminiert eh nicht.
14.09.2014 16:29:13  Zum letzten Beitrag
[ zitieren ] [ pm ] [ diesen post melden ]
[smith]

AUP [smith] 29.07.2010
Mit genügend Geduld und Speicher, vielleicht ja doch!
Ha, und dann stauen alle.
14.09.2014 16:31:01  Zum letzten Beitrag
[ zitieren ] [ pm ] [ diesen post melden ]
Rufus

AUP Rufus 12.02.2008
Selbst dann hat er eine Myriade Input/Output-Paare. Was macht er dann damit? Breites Grinsen
14.09.2014 16:32:50  Zum letzten Beitrag
[ zitieren ] [ pm ] [ diesen post melden ]
csde_rats

AUP csde_rats 04.09.2021
Ich weiß, was du meinst, aber bevor wir hier MCignaz vollends verwirren... Breites Grinsen

>>> import sys
>>> 1.0 == 1.0 + sys.float_info.min
True

... soll heißen: Wenn man Werte kleiner als die halbe Auflösung auf einen Float addiert (und die Auflösung hängt vom konkreten Wert ebendieses Floats ab!), dann passiert gar nix ; die Binärdarstellung bleibt gleich.

Illustration mittels Python, das Verhalten ist aber in C gleich.
14.09.2014 16:34:41  Zum letzten Beitrag
[ zitieren ] [ pm ] [ diesen post melden ]
RichterSkala

AUP RichterSkala 31.12.2010
 
Zitat von Rufus

Selbst dann hat er eine Myriade Input/Output-Paare. Was macht er dann damit? Breites Grinsen


Dynamic Quantum Clustering!
14.09.2014 16:35:23  Zum letzten Beitrag
[ zitieren ] [ pm ] [ diesen post melden ]
Rufus

AUP Rufus 12.02.2008
 
Zitat von csde_rats

Wenn man Werte kleiner als die halbe Auflösung auf einen Float addiert (und die Auflösung hängt vom konkreten Wert ebendieses Floats ab!), dann passiert gar nix ; die Binärdarstellung bleibt gleich.


Aus dir wäre ein feiner FIAE geworden.
14.09.2014 16:37:15  Zum letzten Beitrag
[ zitieren ] [ pm ] [ diesen post melden ]
csde_rats

AUP csde_rats 04.09.2021
Traxer weint gleich Breites Grinsen

Nochmal fix zur Verdeutlichung, double hat 1 bit Vorzeichen, 11 bit Exponent, 52 Bit Mantisse

1.0 heißt Exponent genau 0, denn 2**0 = 1
Mantisse ist genau 1, denn 1*2**0 = 1*1 = 1
Auflösung bei 1.0 ist also 2**-52

Und tatsächlich:

>>> 1.0 == 1.0 + (0.49*2**-52)
True
>>> 1.0 == 1.0 + (0.51*2**-52)
False
14.09.2014 16:48:40  Zum letzten Beitrag
[ zitieren ] [ pm ] [ diesen post melden ]
Virtus

Arctic
 
Zitat von [smith]

Hmhm, ich kann jetzt tatsächlich kein C++... wäre diese for-Schleife nicht falsch? Muss man da nicht bei -DBL_MAX anfangen, wie auch in Java?


Eine irreführend benannte Konstante. Das gehört in die Liste der Punkte, die an Java schlecht sind.

Spoiler - markieren, um zu lesen:
Eine Konstante namens MIN_VALUE sollte natürlich den kleinstmöglichen Wert enthalten, nicht den kleinstmöglichen positiven Wert.
14.09.2014 17:49:09  Zum letzten Beitrag
[ zitieren ] [ pm ] [ diesen post melden ]
Rufus

AUP Rufus 12.02.2008
Ja, aber das war nicht seine Frage.

Fakt 1: rats' Schleife müsste bei -DBL_MAX anfangen, ja.
Fakt 2: DBL_MIN ist scheiße benannt, ja.
[Dieser Beitrag wurde 1 mal editiert; zum letzten Mal von Rufus am 14.09.2014 17:52]
14.09.2014 17:52:05  Zum letzten Beitrag
[ zitieren ] [ pm ] [ diesen post melden ]
csde_rats

AUP csde_rats 04.09.2021
Spoiler - markieren, um zu lesen:
Ist aber auch in C so.

FLT/DBL/LDBL_MIN
: Minimum normalized positive floating-point number

Deine Interpretation ergibt imho nur Sinn bei Typen mit gleichmäßiger Auflösung, also heutzutage eigentlich nur integer Typen. Die Bennenung ist natürlich trotzdem blöd, sollte _SMALLEST oder so sein.


/e: Zwipo, Nur weil ich in der Manpage die Definition nachgeschaut und schön formatiert habe! Wütend
[Dieser Beitrag wurde 1 mal editiert; zum letzten Mal von csde_rats am 14.09.2014 17:53]
14.09.2014 17:53:13  Zum letzten Beitrag
[ zitieren ] [ pm ] [ diesen post melden ]
Virtus

Arctic
 
Zitat von Rufus

Ja, aber das war nicht seine Frage.


Ich wollte bloß mal wieder über Java herziehen. .NET macht's richtig.
14.09.2014 18:02:52  Zum letzten Beitrag
[ zitieren ] [ pm ] [ diesen post melden ]
[smith]

AUP [smith] 29.07.2010
Keine Sorge, ich programmiere lange genug beruflich mit Java, dass ich selber weiß wie grottenkacke das ist!

Aber man wird halt dafür bezahlt...
14.09.2014 18:06:27  Zum letzten Beitrag
[ zitieren ] [ pm ] [ diesen post melden ]
MCignaz

Arctic
Danke fuer eure Antworten. Da lohnt sichs ja nochmal die alten Unterlagen zu dem Thema rauszusuchen. Augenzwinkern Hatte gehofft, dass es etwas einfacheres gibt.
[Dieser Beitrag wurde 1 mal editiert; zum letzten Mal von MCignaz am 14.09.2014 20:12]
14.09.2014 20:11:59  Zum letzten Beitrag
[ zitieren ] [ pm ] [ diesen post melden ]
_Ac_

Phoenix
C++
Hab gerade aus Versehen (a,b) anstatt (a+b) (a,b sind double) gecodet. Hat schön kompiliert, aber was passiert da? Im Debugger scheint keine Funktion aufgerufen zu werden.
15.09.2014 11:47:42  Zum letzten Beitrag
[ zitieren ] [ pm ] [ diesen post melden ]
Krypt0n

Arctic
https://en.wikipedia.org/wiki/Comma_operator
[Dieser Beitrag wurde 1 mal editiert; zum letzten Mal von Krypt0n am 15.09.2014 11:50]
15.09.2014 11:50:39  Zum letzten Beitrag
[ zitieren ] [ pm ] [ diesen post melden ]
wuSel

AUP wuSel 24.02.2008
betruebt gucken
Herzlichen Glückwunsch, du bist in der dunklen Seite von C/C++ angekommen.
15.09.2014 11:52:52  Zum letzten Beitrag
[ zitieren ] [ pm ] [ diesen post melden ]
_Ac_

Phoenix
pff... bei dem was ich schon gesehen habe, ist das eher ein Lichtstrahl
15.09.2014 11:57:23  Zum letzten Beitrag
[ zitieren ] [ pm ] [ diesen post melden ]
csde_rats

AUP csde_rats 04.09.2021
 
Zitat von _Ac_

Hab gerade aus Versehen (a,b) anstatt (a+b) (a,b sind double) gecodet. Hat schön kompiliert, aber was passiert da? Im Debugger scheint keine Funktion aufgerufen zu werden.



Ist einfach nur b.

@wuSel: Wenn ich in $random Sprache plus statt minus schreibe, kompiliert/läuft das auch einfach weiterhin o)
15.09.2014 11:57:47  Zum letzten Beitrag
[ zitieren ] [ pm ] [ diesen post melden ]
cms

AUP cms 14.11.2012
Solange man ihn nicht überlädt, ist er ganz ok.

***

 
Zitat von _Ac_

pff... bei dem was ich schon gesehen habe, ist das eher ein Lichtstrahl

Jetzt bin ich neugierig!
[Dieser Beitrag wurde 1 mal editiert; zum letzten Mal von cms am 15.09.2014 12:03]
15.09.2014 12:02:36  Zum letzten Beitrag
[ zitieren ] [ pm ] [ diesen post melden ]
wuSel

AUP wuSel 24.02.2008
Ja, darum ging es mir nicht. Aber in modernen Sprachen passiert sowas hier nicht:

i = (a, b); // stores b into i

Ich meinte den Operator ansich. peinlich/erstaunt
15.09.2014 12:03:16  Zum letzten Beitrag
[ zitieren ] [ pm ] [ diesen post melden ]
_Ac_

Phoenix
 
Zitat von csde_rats

 
Zitat von _Ac_

Hab gerade aus Versehen (a,b) anstatt (a+b) (a,b sind double) gecodet. Hat schön kompiliert, aber was passiert da? Im Debugger scheint keine Funktion aufgerufen zu werden.



Ist einfach nur b.

@wuSel: Wenn ich in $random Sprache plus statt minus schreibe, kompiliert/läuft das auch einfach weiterhin o)


Ja, ist mir jetzt schon klar; war mir einfach grad nicht bewusst, dass da der Kommaoperator mitmischt Augenzwinkern
Danke jedenfalls.
15.09.2014 12:03:17  Zum letzten Beitrag
[ zitieren ] [ pm ] [ diesen post melden ]
cms

AUP cms 14.11.2012
 
Zitat von wuSel

Ja, darum ging es mir nicht. Aber in modernen Sprachen passiert sowas hier nicht:

i = (a, b); // stores b into i

Ich meinte den Operator ansich. peinlich/erstaunt

Viel interessanter ist doch, dass bei

i = a, b;

i == a ist. Breites Grinsen
15.09.2014 12:06:41  Zum letzten Beitrag
[ zitieren ] [ pm ] [ diesen post melden ]
_Ac_

Phoenix
 
Zitat von cms

Solange man ihn nicht überlädt, ist er ganz ok.

***

 
Zitat von _Ac_

pff... bei dem was ich schon gesehen habe, ist das eher ein Lichtstrahl

Jetzt bin ich neugierig!


Ich sag nur Boost MPL und Boost Graph library
15.09.2014 12:08:22  Zum letzten Beitrag
[ zitieren ] [ pm ] [ diesen post melden ]
csde_rats

AUP csde_rats 04.09.2021
Das ist halt so ein bisschen eine Art Mehrzweck Einzweckoperator um mehrere Ops in Schleifenköpfen zu machen. Deswegen hat der auch die niedrigste Prio...

 
Zitat von cms

 
Zitat von wuSel

Ja, darum ging es mir nicht. Aber in modernen Sprachen passiert sowas hier nicht:

i = (a, b); // stores b into i

Ich meinte den Operator ansich. peinlich/erstaunt

Viel interessanter ist doch, dass bei

i = a, b;

i == a ist. Breites Grinsen



while(i++, current = current->next) {
...

/e: so rum, es sei denn man möchte Abbruch manuell prüfen oder hat ein anderes Kriterium.
[Dieser Beitrag wurde 2 mal editiert; zum letzten Mal von csde_rats am 15.09.2014 12:13]
15.09.2014 12:08:33  Zum letzten Beitrag
[ zitieren ] [ pm ] [ diesen post melden ]
Redh3ad

AUP Redh3ad 11.10.2009
15.09.2014 12:14:56  Zum letzten Beitrag
[ zitieren ] [ pm ] [ diesen post melden ]
Rufus

AUP Rufus 12.02.2008
 
Zitat von csde_rats

Das ist halt so ein bisschen eine Art Mehrzweck Einzweckoperator um mehrere Ops in Schleifenköpfen zu machen.


Und damit ist es ja eigentlich ziemlich cool. Von wegen dunkle Seite, das geht echt schlimmer. Breites Grinsen
15.09.2014 16:12:32  Zum letzten Beitrag
[ zitieren ] [ pm ] [ diesen post melden ]
krak0s

AUP krak0s 12.07.2010
Kennt sich wer mit JSoup aus?
Versuch gerade ein Stück HTML auseiander zu nehmen.
Leider ist das HTML nicht besonders schön, d.h. verschachtelte Tabellen ohne eindeutige Klassen bzw. IDs.

Beispielconstrukt:
 
Code:
<table>
  <tbody>
   <tr>
    <td>
     <table>
      <tbody>
       <tr>
        <td><b class="c1">Text</b><br />Text2
        </td>
       </tr>
      </tbody>
     </table>
    </td>
   </tr>
  </tbody>
</table>

Wie komm ich an den Text nach <br />?
Oder wie komme ich an das td? Quasi das Parent von <b class="c1">.

 
Code:
Element bParent = doc.select("b.c1").parent();

funktioniert nicht.

Vielleicht versteh ich JSoup auch noch zu wenig ..
[Dieser Beitrag wurde 2 mal editiert; zum letzten Mal von krak0s am 15.09.2014 17:29]
15.09.2014 17:28:55  Zum letzten Beitrag
[ zitieren ] [ pm ] [ diesen post melden ]
RichterSkala

AUP RichterSkala 31.12.2010
böse gucken
grmpf grmpf grmpf, zweite harmonische Erzeugung erreicht einfach zu wenig Ausgangsleistung... frustrierend.
15.09.2014 19:05:25  Zum letzten Beitrag
[ zitieren ] [ pm ] [ diesen post melden ]
 Thema: pOT-lnformatik, Mathematik, Physik XVII ( Code drunk, debug sober! )
« vorherige 1 2 3 4 5 6 7 8 [9] 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 nächste »

mods.de - Forum » Public Offtopic » 

Hop to:  

Thread-Tags:
Mod-Aktionen:
08.02.2015 09:37:01 Sharku hat diesen Thread geschlossen.
17.08.2014 12:58:58 Sharku hat diesem Thread das ModTag 'pimp' angehängt.

| tech | impressum