Math.IEEERemainder(Double, Double) Metode
Definisi
Penting
Beberapa informasi terkait produk prarilis yang dapat diubah secara signifikan sebelum dirilis. Microsoft tidak memberikan jaminan, tersirat maupun tersurat, sehubungan dengan informasi yang diberikan di sini.
Mengembalikan sisa hasil dari pembagian angka tertentu dengan angka lain yang ditentukan.
public:
static double IEEERemainder(double x, double y);
public static double IEEERemainder (double x, double y);
static member IEEERemainder : double * double -> double
Public Shared Function IEEERemainder (x As Double, y As Double) As Double
Parameter
- x
- Double
Sebuah dividen.
- y
- Double
Seorang pembabung.
Mengembalikan
Angka yang sama dengan x
- (y
Q), di mana Q adalah kuota yang dibulatkan ke bilangan / y
x
bulat terdekat (jika x
/ y
jatuh setengah di antara dua bilangan bulat, bilangan bulat genap dikembalikan).
Jika x
- (y
Q) adalah nol, nilai +0 dikembalikan jika x
positif, atau -0 jika x
negatif.
Jika y
= 0, NaN dikembalikan.
Contoh
Contoh berikut membedakan sisa yang dikembalikan oleh IEEERemainder metode dengan sisa yang dikembalikan oleh operator sisanya.
using System;
public class Example
{
public static void Main()
{
Console.WriteLine($"{"IEEERemainder",35} {"Remainder operator",20}");
ShowRemainders(3, 2);
ShowRemainders(4, 2);
ShowRemainders(10, 3);
ShowRemainders(11, 3);
ShowRemainders(27, 4);
ShowRemainders(28, 5);
ShowRemainders(17.8, 4);
ShowRemainders(17.8, 4.1);
ShowRemainders(-16.3, 4.1);
ShowRemainders(17.8, -4.1);
ShowRemainders(-17.8, -4.1);
}
private static void ShowRemainders(double number1, double number2)
{
var formula = $"{number1} / {number2} = ";
var ieeeRemainder = Math.IEEERemainder(number1, number2);
var remainder = number1 % number2;
Console.WriteLine($"{formula,-16} {ieeeRemainder,18} {remainder,20}");
}
}
// The example displays the following output:
//
//
// IEEERemainder Remainder operator
// 3 / 2 = -1 1
// 4 / 2 = 0 0
// 10 / 3 = 1 1
// 11 / 3 = -1 2
// 27 / 4 = -1 3
// 28 / 5 = -2 3
// 17.8 / 4 = 1.8 1.8
// 17.8 / 4.1 = 1.4 1.4
// -16.3 / 4.1 = 0.0999999999999979 -4
// 17.8 / -4.1 = 1.4 1.4
// -17.8 / -4.1 = -1.4 -1.4
open System
let showRemainders number1 number2 =
let formula = $"{number1} / {number2} = "
let ieeeRemainder = Math.IEEERemainder(number1, number2)
let remainder = number1 % number2
printfn $"{formula,-16} {ieeeRemainder,18} {remainder,20}"
printfn " IEEERemainder Remainder operator"
showRemainders 3 2
showRemainders 4 2
showRemainders 10 3
showRemainders 11 3
showRemainders 27 4
showRemainders 28 5
showRemainders 17.8 4
showRemainders 17.8 4.1
showRemainders -16.3 4.1
showRemainders 17.8 -4.1
showRemainders -17.8 -4.1
// The example displays the following output:
//
//
// IEEERemainder Remainder operator
// 3 / 2 = -1 1
// 4 / 2 = 0 0
// 10 / 3 = 1 1
// 11 / 3 = -1 2
// 27 / 4 = -1 3
// 28 / 5 = -2 3
// 17.8 / 4 = 1.8 1.8
// 17.8 / 4.1 = 1.4 1.4
// -16.3 / 4.1 = 0.0999999999999979 -4
// 17.8 / -4.1 = 1.4 1.4
// -17.8 / -4.1 = -1.4 -1.4
Module Example
Public Sub Main()
Console.WriteLine($"{"IEEERemainder",35} {"Remainder operator",20}")
ShowRemainders(3, 2)
ShowRemainders(4, 2)
ShowRemainders(10, 3)
ShowRemainders(11, 3)
ShowRemainders(27, 4)
ShowRemainders(28, 5)
ShowRemainders(17.8, 4)
ShowRemainders(17.8, 4.1)
ShowRemainders(-16.3, 4.1)
ShowRemainders(17.8, -4.1)
ShowRemainders(-17.8, -4.1)
End Sub
Private Sub ShowRemainders(number1 As Double, number2 As Double)
Dim formula As String = $"{number1} / {number2} = "
Dim ieeeRemainder As Double = Math.IEEERemainder(number1, number2)
Dim remainder As Double = number1 Mod number2
Console.WriteLine($"{formula,-16} {ieeeRemainder,18} {remainder,20}")
End Sub
End Module
' The example displays the following output:
'
' IEEERemainder Remainder operator
' 3 / 2 = -1 1
' 4 / 2 = 0 0
' 10 / 3 = 1 1
' 11 / 3 = -1 2
' 27 / 4 = -1 3
' 28 / 5 = -2 3
' 17.8 / 4 = 1.8 1.8
' 17.8 / 4.1 = 1.4 1.4
' -16.3 / 4.1 = 0.0999999999999979 -4
' 17.8 / -4.1 = 1.4 1.4
' -17.8 / -4.1 = -1.4 -1.4
Keterangan
Operasi ini sesuai dengan sisa operasi yang ditentukan dalam Bagian 5.1 dari ANSI/IEEE Std 754-1985; Standar IEEE untuk Biner Floating-Point Aritmatika; Institut Insinyur Listrik dan Elektronik, Inc; 1985.
Metode IEEERemainder ini tidak sama dengan operator yang tersisa. Meskipun keduanya mengembalikan sisa setelah pembagian, rumus yang mereka gunakan berbeda. Rumus untuk metode ini IEEERemainder adalah:
IEEERemainder = dividend - (divisor * Math.Round(dividend / divisor))
Sebaliknya, rumus untuk operator sisanya adalah:
Remainder = (Math.Abs(dividend) - (Math.Abs(divisor) *
(Math.Floor(Math.Abs(dividend) / Math.Abs(divisor))))) *
Math.Sign(dividend)