Verhalten von Teilungsoperatoren zwischen ganzen Zahlen (C-Sprache, C ++, Scala, Java, Rust, Go-Sprache, PHP, JavaScript, Perl, Python, Ruby)
Verhalten der Operatoren /
und %
bei ganzen Zahlen.
Wenn Sie eine Ganzzahl durch eine Ganzzahl teilen ** Ganzzahl ** vs ** Gleitkommazahl ** Welche?
---5 / 4
ist ** - 1,25 **
- PHP
--Floating Point Nummer, weil sie nicht teilbar ist
- Perl
--Floating Point Nummer, weil sie nicht teilbar ist
- Deklarieren von "Ganzzahl" -Änderungen für die C-Sprachschule
- Python
--Floating Point Number, wenn geteilt, unabhängig davon, ob es teilbar ist oder nicht
- Es gibt auch einen Operator "//" für die C-Sprachschule
- Es gibt von Anfang an keinen Unterschied zwischen Ganzzahlen und Gleitkommazahlen
--
-5 / 4
ist ** - 1 **
--C Sprache / C ++ / Scala / Java / Rust / Go Sprache
- Statisch getippte Sprache
--
-5 / 4
ist ** - 2 **
- Außerhalb von Freunden
Welches ist der negative Rest (Divisionsrest %
Operator) ** positiv ** vs ** negativ **?
---5% 4
ist ** - 1 **
--C Sprache / C ++ / Scala / Java / Rust / Go Sprache
- Statisch getippte Sprache
- PHP / JavaScript
--
-5% 4
ist ** 3 **
- Perl
- Deklarieren von "Ganzzahl" -Änderungen für die C-Sprachschule
C-Sprache / C ++ / Scala / Java / Rust / Go-Sprache
/
- Wenn Sie eine Ganzzahl durch eine Ganzzahl teilen, erhalten Sie eine Ganzzahl
- Näher an 0 gerundet
--
%
(Rest)
- "(a / b * b) + (a% b)" entspricht "a"
a |
b |
a / b |
a % b |
5 |
4 |
1 |
1 |
5 |
-4 |
-1 |
1 |
-5 |
4 |
-1 |
-1 |
-5 |
-4 |
1 |
-1 |
PHP
/
- Wenn Sie eine Ganzzahl durch eine Ganzzahl teilen, wird sie zu einer Gleitkommazahl, wenn sie nicht teilbar ist.
--
%
(Rest)
--(int) (a / b) * b + (a% b)
entspricht a
(auf int-Runden gewirkt, die näher an 0 runden)
a |
b |
a / b |
a % b |
5 |
4 |
1.25 |
1 |
5 |
-4 |
-1.25 |
1 |
-5 |
4 |
-1.25 |
-1 |
-5 |
-4 |
1.25 |
-1 |
JavaScript
/
- Wenn Sie eine Ganzzahl durch eine Ganzzahl teilen, wird sie zu einer Gleitkommazahl, wenn sie nicht teilbar ist.
--JavaScript unterscheidet überhaupt nicht zwischen Ganzzahlen und Gleitkommazahlen
- Vollständiges Verständnis der numerischen Typen in JavaScript - Qiita
--
%
(Rest)
--Math.trunc (a / b) * b + (a% b)
entspricht a
(Math.trunc rundet näher an 0)
a |
b |
a / b |
a % b |
5 |
4 |
1.25 |
1 |
5 |
-4 |
-1.25 |
1 |
-5 |
4 |
-1.25 |
-1 |
-5 |
-4 |
1.25 |
-1 |
Perl
Wenn Sie nicht "Ganzzahl verwenden" angegeben haben.
/
- Wenn Sie eine Ganzzahl durch eine Ganzzahl teilen, wird sie zu einer Gleitkommazahl, wenn sie nicht teilbar ist.
--
%
(Rest)
- "Boden (a / b) * b + (a% b)" entspricht "a" (Boden rundet in Richtung negative Unendlichkeit)
a |
b |
a / b |
a % b |
5 |
4 |
1.25 |
1 |
5 |
-4 |
-1.25 |
-3 |
-5 |
4 |
-1.25 |
3 |
-5 |
-4 |
1.25 |
-1 |
Perl (use integer)
Wenn Sie "Ganzzahl verwenden" deklarieren.
/
- Wenn Sie eine Ganzzahl durch eine Ganzzahl teilen, erhalten Sie eine Ganzzahl
- Näher an 0 gerundet
--
%
(Rest)
- "(a / b * b) + (a% b)" entspricht "a"
a |
b |
a / b |
a % b |
5 |
4 |
1 |
1 |
5 |
-4 |
-1 |
1 |
-5 |
4 |
-1 |
-1 |
-5 |
-4 |
1 |
-1 |
Python
Für Python3. (2 ist anders)
/
- Wenn Sie eine Ganzzahl durch eine Ganzzahl teilen, wird sie immer zu einer Gleitkommazahl.
--
//
(Ganzzahldivision)
- Wenn Sie eine Ganzzahl durch eine Ganzzahl teilen, erhalten Sie eine Ganzzahl
- Runde in Richtung negativer Unendlichkeit
--
%
(Rest)
--(a // b * b) + (a% b)
entspricht a
a |
b |
a / b |
a // b |
a % b |
5 |
4 |
1.25 |
1 |
1 |
5 |
-4 |
-1.25 |
-2 |
-3 |
-5 |
4 |
-1.25 |
-2 |
3 |
-5 |
-4 |
1.25 |
1 |
-1 |
Ruby
/
- Wenn Sie eine Ganzzahl durch eine Ganzzahl teilen, erhalten Sie eine Ganzzahl
- Runde in Richtung negativer Unendlichkeit
--
%
(Rest)
- "(a / b * b) + (a% b)" entspricht "a"
a |
b |
a / b |
a % b |
5 |
4 |
1 |
1 |
5 |
-4 |
-2 |
-3 |
-5 |
4 |
-2 |
3 |
-5 |
-4 |
1 |
-1 |
Verknüpfung
Mein Artikel in der mehrsprachigen Reihe
- [Zusammenfassung zum Schreiben von Inkrementdekrementen (Scala, Java, Rust, C-Sprache, C ++, Go-Sprache, PHP, Perl, Python, Ruby, JavaScript)](https://qiita.com/suzuki-navi/items/ 6611b9f16a391bac5ac5)
- Zusammenfassung der if-Anweisung (Scala, Java, Rust, C-Sprache, C ++, Go-Sprache, PHP, Perl, Python, Ruby)
Recommended Posts
Verhalten von Teilungsoperatoren zwischen ganzen Zahlen (C-Sprache, C ++, Scala, Java, Rust, Go-Sprache, PHP, JavaScript, Perl, Python, Ruby)
Zusammenfassung zum Schreiben von Inkrementdekrementen (Scala, Java, Rust, C-Sprache, C ++, Go-Sprache, PHP, Perl, Python, Ruby, JavaScript)