Streichung der Nachkommastellen mathematisch ausdrücken

Beitrag #6120432 wurde von einem Moderator gelöscht.
Beitrag #6120452 wurde von einem Moderator gelöscht.
Beitrag #6120460 wurde von einem Moderator gelöscht.
Beitrag #6120471 wurde von einem Moderator gelöscht.
Beitrag #6120488 wurde von einem Moderator gelöscht.
Beitrag #6120521 wurde von einem Moderator gelöscht.
Beitrag #6120555 wurde von einem Moderator gelöscht.
Beitrag #6120559 wurde von einem Moderator gelöscht.
Gast #6120585
Lesenswert?

Abi88, LK Mathe, und diese Schreibweise auch noch nie gesehen.
Google frisst diese Schreibweise auch im Jahre 2020 nicht.

Dieses prinzipielle Konstrukt frisst Google (von den Variablen mal 
abgesehen):
(L/l)-(L/l mod1)+(L/l mod1 +0,5)-(L/l mod1 +0,5) mod1
Beitrag #6120589 wurde von einem Moderator gelöscht.
Beitrag #6120591 wurde von einem Moderator gelöscht.
Beitrag #6120594 wurde von einem Moderator gelöscht.
#6120629
Lesenswert?

Du meinst, weil die alle wissen, wie die mathematische Schreibweise für 
das Runden aussieht?
Übrigens ist die angegebene Formel falsch, da sie für negative Werte von 
L/l nicht mit dem C-Code übereinstimmt. Die Gaußklammer rundet immer ab, 
während die Konvertierung nach int einfach nur den Nachkommateil 
abschneidet.
Allerdings scheint auch der C-Code schon für negative Werte fehlerhaft 
zu sein, wenn seine Aufgabe sein sollte, zum nächsten ganzzahligen Wert 
hin zu runden.
Beitrag #6120643 wurde von einem Moderator gelöscht.
Gast #6121013
Lesenswert?

Rolf M. schrieb:
> Übrigens ist die angegebene Formel falsch, da sie für negative Werte von
> L/l nicht mit dem C-Code übereinstimmt.

Nein, die angegebene Formel ist richtig, deine Annahmen sind nur falsch.
a) es ist kein C-Code
b) L und l sind Längen. Damit ist die Diskussion über negative Werte für 
beendet erklärt!

Rolf M. schrieb:
> Allerdings scheint auch der C-Code schon für negative Werte fehlerhaft
> zu sein, wenn seine Aufgabe sein sollte, zum nächsten ganzzahligen Wert
> hin zu runden.

Das sollte nicht die Aufgabe sein, wenn ich den nächsten ganzzahligen 
Wert wollte, hätte ich round() verwendet.

georg schrieb:
> Schon die Frage ist falsch: Streichung der Nachkommastellen ist etwas
> anderes als runden.

Die Frage ist richtig. Ich möchte die Nachkommastelle gestrichen habe, 
von runden war keine rede.

Rolf M. schrieb:
> Wer genau hinsieht, bemerkt aber ein "+ 0.5", das daraus eine Rundung
> macht,  aber eben nur für positive Zahlen.

Die Zahl 0,5 ist willkürlich, hätte auch 0,6 sein können.
#6121109
Lesenswert?

Karl schrieb:
> Rolf M. schrieb:
>> Übrigens ist die angegebene Formel falsch, da sie für negative Werte von
>> L/l nicht mit dem C-Code übereinstimmt.
>
> Nein, die angegebene Formel ist richtig, deine Annahmen sind nur falsch.

Die Formel ist nicht allgemein äquivalent zum Code. Dass du keine 
negativen Werte hast, ändert nichts daran.

> a) es ist kein C-Code

Ok, hatte ich implizit angenommen. Lag auch daran, dass du vergessen 
hast, die Sprache anzugeben. Es ist etwas ungeschickt, wenn man einen 
Sprachkonstrukt zur Diskussion stellt, aber die Sprache nicht mit 
angibt. Mir wäre allerdings auch keine Sprache bekannt, wo int 
vorzeichenlos ist.

> b) L und l sind Längen. Damit ist die Diskussion über negative Werte für
> beendet erklärt!

Du hattest nach einem Äquivalent gefragt. Ich hab angemerkt, dass es das 
nicht ist, weil bei negativen Werten das Ergebnis abweicht. Wenn dich 
das nicht stört, ist das ja ok. Dass keine negativen Werte vorkommen 
können, hattest du nicht erwähnt.

> Rolf M. schrieb:
>> Wer genau hinsieht, bemerkt aber ein "+ 0.5", das daraus eine Rundung
>> macht,  aber eben nur für positive Zahlen.
>
> Die Zahl 0,5 ist willkürlich, hätte auch 0,6 sein können.

Wozu hast du sie dann überhaupt hingeschrieben? Zur allgemeinen 
Verwirrung? Klar, ich hab fälschlicherweise angenommen, das solle eine 
Rundung sein, aber wenn du einen float-Wert + 0,5 nimmst und dann nach 
int konvertierst, sieht das schon sehr danach aus.
Gast #6121922
Lesenswert?

Jemand schrieb:
> Mag mir jemand erklären, warum das Streichen der Nachkommastellen auf
> einmal kein Rundungsverfahren mehr ist?

Naja ganz einfach..
wenn man "runden" sagt, geht der Leser von symmetrischem runden aus,
dass man 1.5 nach 2 rundet und 1.4 nach 1 vereinfacht ausgedrückt.
also *round(1.5)*
Streichung der Nachkommastellen ist aber ABrunden
1.99 wird zu 1
quasi *floor(1.99)*
im Gegensatz zu *ceil(1.02)*
was schon zu 2 als Resultat führen würde

also:  floor( x ) oder in gaussklammern notation: ⌊ x ⌋
oder:  ceil( x ) oder in gaussklammern notation:  ⌈ x ⌉
ist was anderes als symmetrisches runden
round( x ) oder eben  [ x ] (nein keine eckigen Klammern)
manche bevorzugen wegen der konfusion deswegen auch ⌊ x ⌉ stattdessen
für's symmetrische runden

ich schweife ab...
#6121939
Lesenswert?

sid schrieb:
> Naja ganz einfach..
> wenn man "runden" sagt, geht der Leser von symmetrischem runden aus,
> dass man 1.5 nach 2 rundet und 1.4 nach 1 vereinfacht ausgedrückt.
> also *round(1.5)*
> Streichung der Nachkommastellen ist aber ABrunden

Oder aufrunden - falls der Wert negativ ist.
Manchmal wird die Art der Rundung auch über einen Wert beschrieben, in 
dessen Richtung das Ergebnis geht.
Das Abschneiden der Nachkomma-Stellen heißt dann runden gegen Null, das 
Aufrufen heißt runden gegen positive Unendlichkeit, das abrunden analog 
dazu, und das symmetrische Runden als runden gegen die nächste Ganzzahl.
Zumindest im englischsprachigen Raum scheint das verbreitet zu sein.
#6122135
Lesenswert?

dadida schrieb:
> Es gibt auch noch kaufmännisches Runden (Rundung zu nächsten geraden
> Zahl; macht mir zumindest Kopfschmerzen). Verwendet in .NET und LabView
> 
https://stackoverflow.com/questions/311696/why-does-net-use-bankers-rounding-as-default

Nein, kaufmännisch Runden ist 5up-4-down, jeweils down Richtung Null.

Next-or-even bringt angeblich eine bessere Verteilung, wenn man über 
eine größere Anzahl Rundungen mitteilt.
Gast #6122150
Lesenswert?

Für mich bedeutet "Streichung der Nachkommastellen" dass alles von 5,1 
bis 5,9 zu 5 wird. Eben einfach gestrichen oder abgeschnitten.

Aber zugegeben, Streichung ist keine wirklich mathematische 
Ausdrucksweise, da kann man natürlich drunter verstehen was man will. 
Meinetwegen auch wie der TO eine beliebige Zahl vorher dazuaddieren. Als 
Mathematiker muss ich ja nicht verstehen was das soll.

Georg

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren