C-Sharp | Java | Python | Swift | GO | WPF | Ruby | Scala | F# | JavaScript | SQL | PHP | Angular | HTML
Info: The result -1 means negative. Zero means the number is zero. And 1 means it is positive.
Next: This program demonstrates the Math.Sign method with ints and doubles as arguments.
Tip: Sign is implemented with branch statements that test the parameter against zero.
C# program that uses Math.Sign method
using System;
class Program
{
static void Main()
{
int a = Math.Sign(-5);
int b = Math.Sign(5);
int c = Math.Sign(0);
Console.WriteLine(a);
Console.WriteLine(b);
Console.WriteLine(c);
a = Math.Sign(-5.5);
b = Math.Sign(5.5);
Console.WriteLine(a);
Console.WriteLine(b);
}
}
Output
-1
1
0
-1
1
Here: This program calls the Math.Exp method and then calls the Math.Pow method such that they have equivalent results.
Note: The Math.Exp always uses Math.E (e) as the specified number. The results of these two method calls are the same.
C# program that uses Exp method
using System;
class Program
{
static void Main()
{
// Compute e ^ 2.
double a = Math.Exp(2);
double b = Math.Pow(Math.E, 2);
// Write results.
Console.WriteLine(a);
Console.WriteLine(b);
}
}
Output
7.38905609893065
7.38905609893065
Part 1: The IEEERemainder method returns a remainder of 1 for the arguments 4, 3. This is the same result as the modulo expression.
Part 2: With the arguments 3 and 4, it returns a remainder of -1. The modulo expression meanwhile returns the value 3.
Here: We see that for IEEERemainder, two positive numbers can have a negative remainder.
C# program that uses IEEERemainder
using System;
class Program
{
static void Main()
{
// Part 1: use larger first number.
double a = Math.IEEERemainder(4, 3);
Console.WriteLine("Part 1");
Console.WriteLine(a);
Console.WriteLine(4 % 3);
// Part 2: use smaller first number.
double b = Math.IEEERemainder(3, 4);
Console.WriteLine("Part 2");
Console.WriteLine(b);
Console.WriteLine(3 % 4);
}
}
Output
Part 1
1
1
Part 2
-1
3
Here: This program's goal is to multiply the int.MaxValue value (2147483647) by itself. If we call Math.BigMul, the result will be correct.
Tip: You should probably use BigMul anywhere you are multiplying large integers.
MultiplyOverflowExceptionInt, uintC# program that calls BigMul
using System;
class Program
{
static void Main()
{
// Call BigMul.
long product1 = Math.BigMul(int.MaxValue, int.MaxValue);
// Use multiplication operator.
long product2 = unchecked(int.MaxValue * int.MaxValue);
// Display values.
Console.WriteLine(product1);
Console.WriteLine(product2);
}
}
Output
4611686014132420609
1
Here: This program divides the value 1000 by the value 300. Because the 300 can go into the 1000 three times, you get the result of 3.
However: There is 100 left over. This is returned by the out parameter in the Math.DivRem method.
Tip: The out parameter in the DivRem method is always assigned when DivRem returns. It will be ready to use.
OutC# program that calls DivRem method
using System;
class Program
{
static void Main()
{
const int a = 1000;
const int b = 300;
int result;
int quotient = Math.DivRem(a, b, out result);
Console.WriteLine(quotient);
Console.WriteLine(result);
}
}
Output
3
100