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
Freigeben: 2025-01-20 17:38:09
Original
833 Leute haben es durchsucht

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>
Nach dem Login kopieren

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>
Nach dem Login kopieren
  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>
Nach dem Login kopieren

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!

Quelle:php.cn
Erklärung dieser Website
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
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage