{"id":1594,"date":"2012-11-21T15:30:30","date_gmt":"2012-11-21T13:30:30","guid":{"rendered":"http:\/\/www.tutego.de\/blog\/javainsel\/?p=1594"},"modified":"2012-11-22T03:35:53","modified_gmt":"2012-11-22T01:35:53","slug":"java-8-division-mit-rundung-richtung-negativ-unendlich","status":"publish","type":"post","link":"https:\/\/www.tutego.de\/blog\/javainsel\/2012\/11\/java-8-division-mit-rundung-richtung-negativ-unendlich\/","title":{"rendered":"Java 8: Division mit Rundung Richtung negativ unendlich"},"content":{"rendered":"<p>Die Ganzzahldivision in Java ist simpel gestrickt. Vereinfacht ausgedr\u00fcckt: Konvertiere die Ganzzahlen in Flie\u00dfkommazahlen, f\u00fchre die Division durch und schneide alles hinter dem Komma ab. So ergeben zum Beispiel 3 \/ 2 = 1 und 9 \/ 2 = 4. Bei negativem Ergebnis, durch entweder negativen Dividenden oder Divisor, das gleiche Spiel: -9 \/ 2 = -4 und 9 \/ -2 = -4. Schauen wir uns einmal die Rundungen an.<\/p>\n<p>Ist das Ergebnis einer Division positiv und mit Nachkommaanteil, so wird das Ergebnis durch das Abschneiden der Nachkommastellen ein wenig kleiner, also abgerundet. W\u00e4re 3\/2 bei Flie\u00dfkommazahlen 1,5, ist es bei einer Ganzzahldivision abgerundet 1. Bei negativen Ergebnissen einer Division ist das genau anders herum. Denn durch das Abschneiden der Nachkommastellen wird die Zahl etwas gr\u00f6\u00dfer. -3\/2 ist genau genommen -1,5, aber bei der Ganzzahldivision -1. Doch -1 ist gr\u00f6\u00dfer als -1,5. Java wendet ein Verfahren an, was gegen null rundet.<\/p>\n<p>In Java 8 hat die Mathe-Klasse zwei neue Methoden bekommen, die bei negativem Ergebnis einer Division nicht gegen null runden, sondern gegen negativ unendlich, also auch in Richtung der kleineren Zahl, wie es bei den positiven Ergebnissen ist.<\/p>\n<p>class java.lang.Math<\/p>\n<p>&#8211; static int floorDiv(int x, int y)<\/p>\n<p>&#8211; static long floorDiv(long x, long y)<\/p>\n<p>Ganz praktisch hei\u00dft das: 4\/3 = Math.floorDiv(4, 3) = 1, aber wo -4 \/ 3 = -1 ergibt, liefert Math.floorDiv(-4, 3) = -2.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Die Ganzzahldivision in Java ist simpel gestrickt. Vereinfacht ausgedr\u00fcckt: Konvertiere die Ganzzahlen in Flie\u00dfkommazahlen, f\u00fchre die Division durch und schneide alles hinter dem Komma ab. So ergeben zum Beispiel 3 \/ 2 = 1 und 9 \/ 2 = 4. Bei negativem Ergebnis, durch entweder negativen Dividenden oder Divisor, das gleiche Spiel: -9 \/ 2 [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_jetpack_memberships_contains_paid_content":false,"footnotes":"","_links_to":"","_links_to_target":""},"categories":[11,66],"tags":[],"class_list":["post-1594","post","type-post","status-publish","format-standard","hentry","category-insel","category-java-8"],"jetpack_featured_media_url":"","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/www.tutego.de\/blog\/javainsel\/wp-json\/wp\/v2\/posts\/1594","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.tutego.de\/blog\/javainsel\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.tutego.de\/blog\/javainsel\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.tutego.de\/blog\/javainsel\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.tutego.de\/blog\/javainsel\/wp-json\/wp\/v2\/comments?post=1594"}],"version-history":[{"count":3,"href":"https:\/\/www.tutego.de\/blog\/javainsel\/wp-json\/wp\/v2\/posts\/1594\/revisions"}],"predecessor-version":[{"id":1597,"href":"https:\/\/www.tutego.de\/blog\/javainsel\/wp-json\/wp\/v2\/posts\/1594\/revisions\/1597"}],"wp:attachment":[{"href":"https:\/\/www.tutego.de\/blog\/javainsel\/wp-json\/wp\/v2\/media?parent=1594"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.tutego.de\/blog\/javainsel\/wp-json\/wp\/v2\/categories?post=1594"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.tutego.de\/blog\/javainsel\/wp-json\/wp\/v2\/tags?post=1594"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}