Heim >Datenbank >MySQL-Tutorial >Warum führt die Ganzzahldivision bei der Programmierung zu unerwarteten Ergebnissen?

Warum führt die Ganzzahldivision bei der Programmierung zu unerwarteten Ergebnissen?

Barbara Streisand
Barbara StreisandOriginal
2025-01-20 17:38:09781Durchsuche

Why Does Integer Division Produce Unexpected Results in Programming?

Unerwartete Ergebnisse in der Programmierabteilung

Integer-Divisionen in der Programmierung können zu überraschenden Ergebnissen führen. Betrachten Sie dieses Beispiel:

<code>PRINT @set1
PRINT @set2

SET @weight= @set1 / @set2;
PRINT @weight</code>

Mit set1 = 47 und set2 = 638 lautet das erwartete Ergebnis 0.073667712. Stattdessen lautet die Ausgabe 0. Dies liegt daran, dass viele Programmiersprachen standardmäßig eine Ganzzahldivision durchführen, wenn beide Operanden Ganzzahlen sind. Bei der Ganzzahldivision wird der Bruchteil verworfen, was zu einer Kürzung führt.

Um die erwartete Gleitkommadivision zu erreichen, verwenden Sie eine dieser Methoden:

  1. Variablen als Gleitkommazahlen deklarieren: set1 und set2 von Anfang an als Gleitkommazahlen definieren:
<code>DECLARE @set1 FLOAT, @set2 FLOAT;

SET @weight= @set1 / @set2;</code>
  1. Explizite Typumwandlung: Konvertieren Sie set1 und set2 während der Division in Floats:
<code>SET @weight= CAST(@set1 AS FLOAT) / CAST(@set2 AS FLOAT);</code>

Beide Methoden gewährleisten eine genaue Gleitkommadivision und verhindern den Präzisionsverlust, der durch das Abschneiden ganzer Zahlen verursacht wird. Dies ergibt das korrekte Dezimalergebnis für Berechnungen, die Bruchwerte erfordern.

Das obige ist der detaillierte Inhalt vonWarum führt die Ganzzahldivision bei der Programmierung zu unerwarteten Ergebnissen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn