Rust: Π‘Π»Π΅Π΄ΡƒΠ΅Ρ‚ Π·Π°Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ цСлочислСнного дСлСния / округлСния остатка.

Π‘ΠΎΠ·Π΄Π°Π½Π½Ρ‹ΠΉ Π½Π° 7 июл. 2015  Β·  3ΠšΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΈ  Β·  Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ: rust-lang/rust

Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ Google, я ΠΌΠΎΠ³Ρƒ Π½Π°ΠΉΡ‚ΠΈ мноТСство старых Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚ΠΎΠ² ΠΎ Ρ‚ΠΎΠΌ, ΠΊΠ°ΠΊ цСлочислСнноС Π΄Π΅Π»Π΅Π½ΠΈΠ΅ Π΄ΠΎΠ»ΠΆΠ½ΠΎ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ Π² Rust, Π½ΠΎ я Π½Π΅ ΠΌΠΎΠ³Ρƒ Π½Π°ΠΉΡ‚ΠΈ Π½ΠΈΡ‡Π΅Π³ΠΎ Π² справочникС, Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΠΈ API для цСлочислСнных Ρ‚ΠΈΠΏΠΎΠ² ΠΈΠ»ΠΈ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΠΈ API для ΠΏΡ€ΠΈΠ·Π½Π°ΠΊΠ° Div ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π³ΠΎΠ²ΠΎΡ€ΠΈΡ‚ Ρ‡Ρ‚ΠΎ Π±Ρ‹Π»ΠΎ Π½Π° самом Π΄Π΅Π»Π΅ Ρ€Π΅ΡˆΠ΅Π½ΠΎ. (И докумСнтация, ΠΏΠΎΡ…ΠΎΠΆΠ΅, ΠΏΠΎΠ΄Ρ€Π°Π·ΡƒΠΌΠ΅Π²Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ / , checked_div ΠΈ wrapping_div ΠΌΠΎΠ³ΡƒΡ‚ Π½Π΅ Π΄Π΅Π»Π°Ρ‚ΡŒ ΠΎΠ΄Π½ΠΎ ΠΈ Ρ‚ΠΎ ΠΆΠ΅.) Π­Ρ‚ΠΎ Π΅Ρ‰Π΅ большС сбиваСт с Ρ‚ΠΎΠ»ΠΊΡƒ докумСнтация ΠΏΠΎ цСлочислСнным Ρ‚ΠΈΠΏΠ°ΠΌ, которая, ΠΏΠΎ-Π²ΠΈΠ΄ΠΈΠΌΠΎΠΌΡƒ, ΠΈΠ½ΠΎΠ³Π΄Π° ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ / для обозначСния цСлочислСнного дСлСния, Π° ΠΈΠ½ΠΎΠ³Π΄Π° ΠΈ матСматичСского дСлСния. (Π― Π½Π΅ ΠΌΠΎΠ³Ρƒ ΠΏΡ€ΠΈΠ΄ΡƒΠΌΠ°Ρ‚ΡŒ ΠΊΠ°ΠΊΠΎΠΉ-Π»ΠΈΠ±ΠΎ Π΄Ρ€ΡƒΠ³ΠΎΠΉ Ρ€Π°Π·ΡƒΠΌΠ½ΠΎΠΉ ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ†ΠΈΠΈ floor(self / other) Π² Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΠΈ wrapping_div .) Π‘Ρ‹Π»ΠΎ Π±Ρ‹ Π½Π΅ΠΏΠ»ΠΎΡ…ΠΎ, Ссли Π±Ρ‹ это Π±Ρ‹Π»ΠΎ Π³Π΄Π΅-Ρ‚ΠΎ Ρ‡Π΅Ρ‚ΠΊΠΎ Π·Π°Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΎ, ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ это Π²Π°Ρ€ΡŒΠΈΡ€ΡƒΠ΅Ρ‚ΡΡ ΠΌΠ΅ΠΆΠ΄Ρƒ языками ΠΈ являСтся ΠΎΠ΄Π½ΠΈΠΌ ΠΈΠ· Π½ΠΈΡ…. основных Π½Π΅Π΄ΠΎΡ€Π°Π·ΡƒΠΌΠ΅Π½ΠΈΠΉ с цСлочислСнной Π°Ρ€ΠΈΡ„ΠΌΠ΅Ρ‚ΠΈΠΊΠΎΠΉ.

ВсС 3 ΠšΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΉ

http://doc.rust-lang.org/reference.html#behavior -not-connected-unsafe Π³ΠΎΠ²ΠΎΡ€ΠΈΡ‚ ΠΎ Β«ΠΏΠ΅Ρ€Π΅ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈΒ» ΠΈ ΡƒΠΏΠΎΠΌΠΈΠ½Π°Π΅Ρ‚ ΠΎΠ±Π΅Ρ€Ρ‚Ρ‹Π²Π°Π½ΠΈΠ΅, Π½ΠΎ Π²Ρ‹ ΠΏΡ€Π°Π²Ρ‹, Ρ‡Ρ‚ΠΎ ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ Π»ΡƒΡ‡ΡˆΠ΅ ΠΏΠΎΠ½ΡΡ‚ΡŒ это.

@steveklabnik

Π Π΅Ρ‡ΡŒ ΠΈΠ΄Π΅Ρ‚ ΠΎ ΠΎΠΊΡ€ΡƒΠ³Π»Π΅Π½ΠΈΠΈ, Π° Π½Π΅ ΠΎΠ± ΡƒΠΏΠ°ΠΊΠΎΠ²ΠΊΠ΅. ΠœΡ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌ LLVM sdiv , ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ округляСтся Π΄ΠΎ нуля (ΠΈ srem ΠΈΠΌΠ΅Π΅Ρ‚ Ρ‚ΠΎΡ‚ ΠΆΠ΅ Π·Π½Π°ΠΊ, Ρ‡Ρ‚ΠΎ ΠΈ Π΄ΠΈΠ²ΠΈΠ΄Π΅Π½Π΄). ΠœΡ‹ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π·Π°Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ это (докумСнтация для wrapping_div настоящСС врСмя _lies_, утвСрТдая, Ρ‡Ρ‚ΠΎ ΠΎΠ½Π° округляСтся Π΄ΠΎ ΠΎΡ‚Ρ€ΠΈΡ†Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΠΉ бСсконСчности).

Π­Ρ‚ΠΎ Ρ‚Π°ΠΊΠΆΠ΅ Π΄ΠΎΠ»ΠΆΠ½ΠΎ ΠΎΡΡ‚Π°Π²ΠΈΡ‚ΡŒ ΠΏΡ€Π΅Π΄ΡƒΠΏΡ€Π΅ΠΆΠ΄Π΅Π½ΠΈΠ΅, ΠΏΠΎΡ‚ΠΎΠΌΡƒ Ρ‡Ρ‚ΠΎ Ρ†Π΅Π»ΠΎΠ΅ / Ρ†Π΅Π»ΠΎΠ΅ число Π½Π΅ всСгда ΠΆΠ΅Π»Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ ΠΈ происходит случайно. ΠŸΡ€ΠΎΡΡ‚ΠΎ ΠΏΠΎΠ΄ΡƒΠΌΠ°ΠΉΡ‚Π΅, Ссли ΠΊΡ‚ΠΎ это Ρ‡ΠΈΡ‚Π°Π΅Ρ‚.

Π‘Ρ‹Π»Π° Π»ΠΈ эта страница ΠΏΠΎΠ»Π΅Π·Π½ΠΎΠΉ?
0 / 5 - 0 Ρ€Π΅ΠΉΡ‚ΠΈΠ½Π³ΠΈ

Π‘ΠΌΠ΅ΠΆΠ½Ρ‹Π΅ вопросы

nikomatsakis picture nikomatsakis  Β·  412ΠšΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΈ

withoutboats picture withoutboats  Β·  213ΠšΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΈ

withoutboats picture withoutboats  Β·  202ΠšΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΈ

Mark-Simulacrum picture Mark-Simulacrum  Β·  681ΠšΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΈ

withoutboats picture withoutboats  Β·  211ΠšΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΈ