Math.DivRem Metodo

Definizione

Calcola il quoziente di due numeri e restituisce il resto come parametro di output.

Overload

DivRem(IntPtr, IntPtr)

Produce il quoziente e il resto di due numeri di dimensioni native firmati.

DivRem(Int64, Int64, Int64)

Calcola il quoziente di due interi con segno a 64 bit e restituisce il resto come parametro di output.

DivRem(Int32, Int32, Int32)

Calcola il quoziente di due interi con segno a 32 bit e restituisce il resto come parametro di output.

DivRem(UIntPtr, UIntPtr)

Produce il quoziente e il resto di due numeri di dimensioni native senza segno.

DivRem(UInt64, UInt64)

Produce il quoziente e il resto di due numeri a 64 bit senza segno.

DivRem(UInt32, UInt32)

Produce il quoziente e il resto di due numeri a 32 bit senza segno.

DivRem(Int64, Int64)

Produce il quoziente e il resto di due numeri a 64 bit con segno.

DivRem(SByte, SByte)

Produce il quoziente e il resto di due numeri a 8 bit con segno.

DivRem(Int32, Int32)

Produce il quoziente e il resto di due numeri a 32 bit con segno.

DivRem(Int16, Int16)

Produce il quoziente e il resto di due numeri a 16 bit con segno.

DivRem(Byte, Byte)

Produce il quoziente e il resto di due numeri a 8 bit senza segno.

DivRem(UInt16, UInt16)

Produce il quoziente e il resto di due numeri a 16 bit senza segno.

DivRem(IntPtr, IntPtr)

Produce il quoziente e il resto di due numeri di dimensioni native firmati.

public:
 static ValueTuple<IntPtr, IntPtr> DivRem(IntPtr left, IntPtr right);
public static (IntPtr,IntPtr) DivRem (IntPtr left, IntPtr right);
static member DivRem : nativeint * nativeint -> ValueTuple<nativeint, nativeint>
Public Shared Function DivRem (left As IntPtr, right As IntPtr) As ValueTuple(Of IntPtr, IntPtr)

Parametri

left
IntPtr

nativeint

Dividendo.

right
IntPtr

nativeint

Divisore.

Restituisce

ValueTuple<IntPtr,IntPtr>

ValueTuple<nativeint,nativeint>

Quoziente e resto dei numeri specificati.

Si applica a

DivRem(Int64, Int64, Int64)

Calcola il quoziente di due interi con segno a 64 bit e restituisce il resto come parametro di output.

public:
 static long DivRem(long a, long b, [Runtime::InteropServices::Out] long % result);
public static long DivRem (long a, long b, out long result);
static member DivRem : int64 * int64 * int64 -> int64
Public Shared Function DivRem (a As Long, b As Long, ByRef result As Long) As Long

Parametri

a
Int64

Dividendo.

b
Int64

Divisore.

result
Int64

Quando questo metodo viene restituito, contiene il resto.

Restituisce

Int64

Quoziente dei numeri specificati.

Eccezioni

Esempio

Nell'esempio seguente viene illustrato il DivRem(Int64, Int64, Int64) metodo.

using System;

public class Example
{
   public static void Main()
   {
      // Define several positive and negative dividends.
      long[] dividends = { Int64.MaxValue, 13952, 0, -14032,
                           Int64.MinValue };
      // Define one positive and one negative divisor.
      long[] divisors = { 2000, -2000 };

      foreach (long divisor in divisors)
      {
         foreach (long dividend in dividends)
         {
            long remainder;
            long quotient = Math.DivRem(dividend, divisor, out remainder);
            Console.WriteLine(@"{0:N0} \ {1:N0} = {2:N0}, remainder {3:N0}",
                              dividend, divisor, quotient, remainder);
         }
      }
   }
}
// The example displays the following output:
//    9,223,372,036,854,775,807 \ 2,000 = 4,611,686,018,427,387, remainder 1,807
//    13,952 \ 2,000 = 6, remainder 1,952
//    0 \ 2,000 = 0, remainder 0
//    -14,032 \ 2,000 = -7, remainder -32
//    -9,223,372,036,854,775,808 \ 2,000 = -4,611,686,018,427,387, remainder -1,808
//    9,223,372,036,854,775,807 \ -2,000 = -4,611,686,018,427,387, remainder 1,807
//    13,952 \ -2,000 = -6, remainder 1,952
//    0 \ -2,000 = 0, remainder 0
//    -14,032 \ -2,000 = 7, remainder -32
//    -9,223,372,036,854,775,808 \ -2,000 = 4,611,686,018,427,387, remainder -1,808
Module Example
   Public Sub Main()
      ' Define several positive and negative dividends.
      Dim dividends() As Long = { Int64.MaxValue, 13952, 0, -14032, _
                                     Int64.MinValue }
      ' Define one positive and one negative divisor.
      Dim divisors() As Long = { 2000, -2000 }
      
      For Each divisor As Long In divisors
         For Each dividend As Long In dividends
            Dim remainder As Long 
            Dim quotient As Long = Math.DivRem(dividend, divisor, remainder)
            Console.WriteLine("{0:N0} \ {1:N0} = {2:N0}, remainder {3:N0}", _
                              dividend, divisor, quotient, remainder)
         Next
      Next                                
   End Sub
End Module
' The example displays the following output:
'    9,223,372,036,854,775,807 \ 2,000 = 4,611,686,018,427,387, remainder 1,807
'    13,952 \ 2,000 = 6, remainder 1,952
'    0 \ 2,000 = 0, remainder 0
'    -14,032 \ 2,000 = -7, remainder -32
'    -9,223,372,036,854,775,808 \ 2,000 = -4,611,686,018,427,387, remainder -1,808
'    9,223,372,036,854,775,807 \ -2,000 = -4,611,686,018,427,387, remainder 1,807
'    13,952 \ -2,000 = -6, remainder 1,952
'    0 \ -2,000 = 0, remainder 0
'    -14,032 \ -2,000 = 7, remainder -32
'    -9,223,372,036,854,775,808 \ -2,000 = 4,611,686,018,427,387, remainder -1,808

Commenti

Il valore rimanente è uguale al risultato dell'operatore di resto.

Vedi anche

Si applica a

DivRem(Int32, Int32, Int32)

Calcola il quoziente di due interi con segno a 32 bit e restituisce il resto come parametro di output.

public:
 static int DivRem(int a, int b, [Runtime::InteropServices::Out] int % result);
public static int DivRem (int a, int b, out int result);
static member DivRem : int * int * int -> int
Public Shared Function DivRem (a As Integer, b As Integer, ByRef result As Integer) As Integer

Parametri

a
Int32

Dividendo.

b
Int32

Divisore.

result
Int32

Quando questo metodo viene restituito, contiene il resto.

Restituisce

Int32

Quoziente dei numeri specificati.

Eccezioni

Esempio

Nell'esempio seguente viene illustrato il DivRem(Int32, Int32, Int32) metodo.

using System;

public class Example
{
   public static void Main()
   {
      // Define several positive and negative dividends.
      int[] dividends = { Int32.MaxValue, 13952, 0, -14032,
                                     Int32.MinValue };
      // Define one positive and one negative divisor.
      int[] divisors = { 2000, -2000 };

      foreach (int divisor in divisors)
      {
         foreach (int dividend in dividends)
         {
            int remainder;
            int quotient = Math.DivRem(dividend, divisor, out remainder);
            Console.WriteLine(@"{0:N0} \ {1:N0} = {2:N0}, remainder {3:N0}",
                              dividend, divisor, quotient, remainder);
         }
      }
   }
}
// The example displays the following output:
//       2,147,483,647 \ 2,000 = 1,073,741, remainder 1,647
//       13,952 \ 2,000 = 6, remainder 1,952
//       0 \ 2,000 = 0, remainder 0
//       -14,032 \ 2,000 = -7, remainder -32
//       -2,147,483,648 \ 2,000 = -1,073,741, remainder -1,648
//       2,147,483,647 \ -2,000 = -1,073,741, remainder 1,647
//       13,952 \ -2,000 = -6, remainder 1,952
//       0 \ -2,000 = 0, remainder 0
//       -14,032 \ -2,000 = 7, remainder -32
//       -2,147,483,648 \ -2,000 = 1,073,741, remainder -1,648
Module Example
   Public Sub Main()
      ' Define several positive and negative dividends.
      Dim dividends() As Integer = { Int32.MaxValue, 13952, 0, -14032, _
                                     Int32.MinValue }
      ' Define one positive and one negative divisor.
      Dim divisors() As Integer = { 2000, -2000 }
      
      For Each divisor As Integer In divisors
         For Each dividend As Integer In dividends
            Dim remainder As Integer 
            Dim quotient As Integer = Math.DivRem(dividend, divisor, remainder)
            Console.WriteLine("{0:N0} \ {1:N0} = {2:N0}, remainder {3:N0}", _
                              dividend, divisor, quotient, remainder)
         Next
      Next                                
   End Sub
End Module
' The example displays the following output:
'       2,147,483,647 \ 2,000 = 1,073,741, remainder 1,647
'       13,952 \ 2,000 = 6, remainder 1,952
'       0 \ 2,000 = 0, remainder 0
'       -14,032 \ 2,000 = -7, remainder -32
'       -2,147,483,648 \ 2,000 = -1,073,741, remainder -1,648
'       2,147,483,647 \ -2,000 = -1,073,741, remainder 1,647
'       13,952 \ -2,000 = -6, remainder 1,952
'       0 \ -2,000 = 0, remainder 0
'       -14,032 \ -2,000 = 7, remainder -32
'       -2,147,483,648 \ -2,000 = 1,073,741, remainder -1,648

Commenti

Il valore rimanente è uguale al risultato dell'operatore di resto.

Vedi anche

Si applica a

DivRem(UIntPtr, UIntPtr)

Importante

Questa API non è conforme a CLS.

Produce il quoziente e il resto di due numeri di dimensioni native senza segno.

public:
 static ValueTuple<UIntPtr, UIntPtr> DivRem(UIntPtr left, UIntPtr right);
[System.CLSCompliant(false)]
public static (UIntPtr,UIntPtr) DivRem (UIntPtr left, UIntPtr right);
public static (UIntPtr,UIntPtr) DivRem (UIntPtr left, UIntPtr right);
[<System.CLSCompliant(false)>]
static member DivRem : unativeint * unativeint -> ValueTuple<unativeint, unativeint>
static member DivRem : unativeint * unativeint -> ValueTuple<unativeint, unativeint>
Public Shared Function DivRem (left As UIntPtr, right As UIntPtr) As ValueTuple(Of UIntPtr, UIntPtr)

Parametri

left
UIntPtr

unativeint

Dividendo.

right
UIntPtr

unativeint

Divisore.

Restituisce

ValueTuple<UIntPtr,UIntPtr>

ValueTuple<unativeint,unativeint>

Quoziente e resto dei numeri specificati.

Attributi

Si applica a

DivRem(UInt64, UInt64)

Importante

Questa API non è conforme a CLS.

Produce il quoziente e il resto di due numeri a 64 bit senza segno.

public:
 static ValueTuple<System::UInt64, System::UInt64> DivRem(System::UInt64 left, System::UInt64 right);
[System.CLSCompliant(false)]
public static (ulong,ulong) DivRem (ulong left, ulong right);
public static (ulong,ulong) DivRem (ulong left, ulong right);
[<System.CLSCompliant(false)>]
static member DivRem : uint64 * uint64 -> ValueTuple<uint64, uint64>
static member DivRem : uint64 * uint64 -> ValueTuple<uint64, uint64>
Public Shared Function DivRem (left As ULong, right As ULong) As ValueTuple(Of ULong, ULong)

Parametri

left
UInt64

Dividendo.

right
UInt64

Divisore.

Restituisce

ValueTuple<UInt64,UInt64>

Quoziente e resto dei numeri specificati.

Attributi

Si applica a

DivRem(UInt32, UInt32)

Importante

Questa API non è conforme a CLS.

Produce il quoziente e il resto di due numeri a 32 bit senza segno.

public:
 static ValueTuple<System::UInt32, System::UInt32> DivRem(System::UInt32 left, System::UInt32 right);
[System.CLSCompliant(false)]
public static (uint,uint) DivRem (uint left, uint right);
public static (uint,uint) DivRem (uint left, uint right);
[<System.CLSCompliant(false)>]
static member DivRem : uint32 * uint32 -> ValueTuple<uint32, uint32>
static member DivRem : uint32 * uint32 -> ValueTuple<uint32, uint32>
Public Shared Function DivRem (left As UInteger, right As UInteger) As ValueTuple(Of UInteger, UInteger)

Parametri

left
UInt32

Dividendo.

right
UInt32

Divisore.

Restituisce

ValueTuple<UInt32,UInt32>

Quoziente e resto dei numeri specificati.

Attributi

Si applica a

DivRem(Int64, Int64)

Produce il quoziente e il resto di due numeri a 64 bit con segno.

public:
 static ValueTuple<long, long> DivRem(long left, long right);
public static (long,long) DivRem (long left, long right);
static member DivRem : int64 * int64 -> ValueTuple<int64, int64>
Public Shared Function DivRem (left As Long, right As Long) As ValueTuple(Of Long, Long)

Parametri

left
Int64

Dividendo.

right
Int64

Divisore.

Restituisce

ValueTuple<Int64,Int64>

Quoziente e resto dei numeri specificati.

Si applica a

DivRem(SByte, SByte)

Importante

Questa API non è conforme a CLS.

Produce il quoziente e il resto di due numeri a 8 bit con segno.

public:
 static ValueTuple<System::SByte, System::SByte> DivRem(System::SByte left, System::SByte right);
[System.CLSCompliant(false)]
public static (sbyte,sbyte) DivRem (sbyte left, sbyte right);
public static (sbyte,sbyte) DivRem (sbyte left, sbyte right);
[<System.CLSCompliant(false)>]
static member DivRem : sbyte * sbyte -> ValueTuple<sbyte, sbyte>
static member DivRem : sbyte * sbyte -> ValueTuple<sbyte, sbyte>
Public Shared Function DivRem (left As SByte, right As SByte) As ValueTuple(Of SByte, SByte)

Parametri

left
SByte

Dividendo.

right
SByte

Divisore.

Restituisce

ValueTuple<SByte,SByte>

Quoziente e resto dei numeri specificati.

Attributi

Si applica a

DivRem(Int32, Int32)

Produce il quoziente e il resto di due numeri a 32 bit con segno.

public:
 static ValueTuple<int, int> DivRem(int left, int right);
public static (int,int) DivRem (int left, int right);
static member DivRem : int * int -> ValueTuple<int, int>
Public Shared Function DivRem (left As Integer, right As Integer) As ValueTuple(Of Integer, Integer)

Parametri

left
Int32

Dividendo.

right
Int32

Divisore.

Restituisce

ValueTuple<Int32,Int32>

Quoziente e resto dei numeri specificati.

Si applica a

DivRem(Int16, Int16)

Produce il quoziente e il resto di due numeri a 16 bit con segno.

public:
 static ValueTuple<short, short> DivRem(short left, short right);
public static (short,short) DivRem (short left, short right);
static member DivRem : int16 * int16 -> ValueTuple<int16, int16>
Public Shared Function DivRem (left As Short, right As Short) As ValueTuple(Of Short, Short)

Parametri

left
Int16

Dividendo.

right
Int16

Divisore.

Restituisce

ValueTuple<Int16,Int16>

Quoziente e resto dei numeri specificati.

Si applica a

DivRem(Byte, Byte)

Produce il quoziente e il resto di due numeri a 8 bit senza segno.

public:
 static ValueTuple<System::Byte, System::Byte> DivRem(System::Byte left, System::Byte right);
public static (byte,byte) DivRem (byte left, byte right);
static member DivRem : byte * byte -> ValueTuple<byte, byte>
Public Shared Function DivRem (left As Byte, right As Byte) As ValueTuple(Of Byte, Byte)

Parametri

left
Byte

Dividendo.

right
Byte

Divisore.

Restituisce

ValueTuple<Byte,Byte>

Quoziente e resto dei numeri specificati.

Si applica a

DivRem(UInt16, UInt16)

Importante

Questa API non è conforme a CLS.

Produce il quoziente e il resto di due numeri a 16 bit senza segno.

public:
 static ValueTuple<System::UInt16, System::UInt16> DivRem(System::UInt16 left, System::UInt16 right);
[System.CLSCompliant(false)]
public static (ushort,ushort) DivRem (ushort left, ushort right);
public static (ushort,ushort) DivRem (ushort left, ushort right);
[<System.CLSCompliant(false)>]
static member DivRem : uint16 * uint16 -> ValueTuple<uint16, uint16>
static member DivRem : uint16 * uint16 -> ValueTuple<uint16, uint16>
Public Shared Function DivRem (left As UShort, right As UShort) As ValueTuple(Of UShort, UShort)

Parametri

left
UInt16

Dividendo.

right
UInt16

Divisore.

Restituisce

ValueTuple<UInt16,UInt16>

Quoziente e resto dei numeri specificati.

Attributi

Si applica a