• Herzlich Willkommen!

    Nach der Schließung von inDiablo.de wurden die Inhalte und eure Accounts in dieses Forum konvertiert. Ihr könnt euch hier mit eurem alten Account weiterhin einloggen, müsst euch dafür allerdings über die "Passwort vergessen" Funktion ein neues Passwort setzen lassen.

    Solltet ihr keinen Zugriff mehr auf die mit eurem Account verknüpfte Emailadresse haben, so könnt ihr euch unter Angabe eures Accountnamens, eurer alten Emailadresse sowie eurer gewünschten neuen Emailadresse an einen Administrator wenden.

Nachkommastellen runden?

Champagnerro

Member
Registriert
20 Juli 2005
Beiträge
217
Punkte Reaktionen
0
Hi,

ich hab mich gefragt wie D2 mit Nachkommastellen umgeht. Sollten ja haufenweise vorkommen, wie z.B. bei prozentualem ED etc.. Werden diese einfach handelsüblich gerundet oder "abgeschnitten"? Oder ganz anders behandelt?

Is nen bißchen speziell, aber weiß doch sicher jemand. :D
 
Kommastellen werden bei D2 einfach abgeschnitten. zB: 60,75 = 60
 
Allerdings sind Kommastellen nicht unbedingt das, was das Spiel anzeigt. So werden Lebens- und Schadenswerte in 1/256-Schritten berechnet, bei vielen Berechnungen wird vorher mit 256 multipliziert und erst das Endergebnis wieder durch 256 geteilt und so weiter.

An irgendeiner Stelle wird afaik aufgerundet, aber das ist ganz selten, sonst werden immer die Nachkommastellen abgeschnitten.
 
Warum ist das denn so? Wäre es denn zu aufwendig für die damalige Zeit gewesen, Diablo 2 so zu programmieren, dass es Nachkommastellen ganz normal abrundet? Oder liegt so was einfach in der Politik von Blizzard und sie machen es bei WoW genau so?



Macianer
 
:clown:
Kannst du mir mal bitte den Unterschied zwischen "abrunden" und "abschneiden" erklären?...

Ich runde ab: 60,75 ~ 60
Ich schneide ab: 60,75 ~ 60

Gruß LoGL
:hy:
 
die regeln für runden:

die zahl nach dem komma wird abgerundet bei 0-4
und aufgerundet bei 5-9

beispiel:

60,4 = 60
60,5 = 61

abschneiden bedeutet, jeglich nachkommastelle verfällt und ist für weitere rechnungen bedeutungslos

hoffe das hat geholfen und alles erklärt was ohnehin schon bekannt ist ^^x
 
Warum ist das denn so? Wäre es denn zu aufwendig für die damalige Zeit gewesen, Diablo 2 so zu programmieren, dass es Nachkommastellen ganz normal abrundet? Oder liegt so was einfach in der Politik von Blizzard und sie machen es bei WoW genau so?
Der Grund liegt wohl ganz einfach darin, dass die Spiele in C++ programmiert sind und dort hauptsächlich Integer-Werte insbesondere für die Anzeige verwendet werden. Integer in C++ "verlieren" aber prinzipiell jegliche Nachkommastellen, die durch irgendwelche Berechnungen entstehen können. Von daher wird tatsächlich abgeschnitten, nicht gerundet. Das war damals sicher auch eine bewusste Design-Entscheidung, denn mit Integerwerten kann man deutlich schneller rechnen als mit Gleitkommazahlen. Performance hat bei der ursprünglichen Umsetzung sicher eine Rolle gespielt.
 
Zurück
Oben