C# - Classe Math - Métodos quase não usados


Hoje veremos alguns dos métodos menos conhecidos da classe Math que quase nunca usamos

A classe Math definida no namespace System, oferece diversos métodos estáticos e constantes que você pode usar para fazer cálculos trigonométricos, logarítmicos, e outros cálculos matemáticos.

Apenas para constar segue os principais métodos e constantes desta classe :

Função/Constantes Resultado Exemplo
Abs(x) Fornece Valor absoluto de x Abs(4.5) = 4.5;
Abs(-4.5) = 4.5;
Ceiling(x) Arredonda x para cima Ceiling(4.1) = 5;
Ceiling(-4.1) = -4;
Cos(x) Obtém o cosseno de x Cos(2.0) = -0.4161......
Sin(x) Obtém o seno de x Sin(2) = 0.909297...
Tan(x) Obtém o valor da Tangente de x Tan(1.5) =14.1014...
PI Obtém o valor de PI PI = 3.141516171819...
E Obtém o valor da constante E E = 2.7182818284590451
Exp(x) Obtém o exponencial (e elevado na x) Exp(5.0) =54.59...
Floor(x) Arredonda o valor de x para baixo Floor(2.9) = 2;
Floor(-2.9)) = -3;
Log(x) Calcula o logaritmo de x na base natural e Log(3.0) = 1.098612...
Log10(x) Calcula o logaritmo de x na base 10 Log10(3.0) = 0.47712...
Max(x,y) Obtém o maior valor entre dois números Max(2.46,2.56) = 2.56;
Max(-2.46,-2.56) = 2.46;
Min(x,y) Obtém o menor valor entre dois números Min(1.92,1.89) = 1.89;
Min(-1.92,-1.89) = 1.92;
Pow(x,y) Obtém o valor de x elevado na y Pow(2,4) = 16
Round(x,y) Arredonda x para y casas decimais Round(7.6758549,4) = 7.6759
Sqrt(x) Obtém a raiz quadrada de x Sqrt(169) = 13

Hoje eu vou mostrar alguns métodos e constantes desta classe que são menos conhecidos. Para aplicar os exemplos vou criar uma aplicação do tipo Console usando o .NET Framework 4.7.

Recursos usados :

Classe Math

1 - As constantes PI e E

A classe Math fornece as constantes e os métodos estáticos para funções logarítmicas, trigonométricas e outras funções matemáticas. Ela contém as constantes definidas como:

  • Math.E - representa a base e do logarítmo natural. Armazena os primeiros digitos da base.

A sua utilização esta relacionada com cálculo de limites e derivadas:

  • Math.PI - representa o número PI

2 - Sign

O método Math.Sign() retorna um inteiro que especifica o sinal do número. Esse método pode ser sobrecarregado alterando o tipo de dados dos argumentos transmitidos da seguinte maneira:

- Math.Sign (Decimal): Retorna o inteiro que especifica o sinal de um número decimal.
- Math.Sign (Double): Retorna o inteiro que especifica o sinal de um número de ponto flutuante de precisão dupla.
- Math.Sign (Int16): Retorna o inteiro que especifica o sinal de um inteiro assinado de 16 bits. Aqui Int16 é tipo de dados short.
- Math.Sign (Int32): Retorna o inteiro que especifica o sinal de um inteiro assinado de 32 bits. Aqui Int32 é tipo de dados int.
- Math.Sign (Int64): Retorna o inteiro que especifica o sinal de um inteiro assinado de 64 bits. Aqui, Int64 é um tipo de dados long.
- Math.Sign (SByte): Retorna o inteiro que especifica o sinal de um inteiro assinado de 8 bits.
- Math.Sign (Single): Retorna o inteiro que especifica o sinal de um número de ponto flutuante de precisão simples. Aqui single é o tipo de dados float.

Este método retorna um valor do tipo System.Int32 que pode ser:

  1.  0  se o valor for igual a zero
  2.  1  se o valor for maior que zero
  3. -1 se o valor for menor que zero

Exemplo:

3 - IEEERemainder

O método Math.IEEERemainder retorna o restante resultante da divisão de um número especificado por outro número especificado.

Sintaxe:

public static double IEEERemainder (double x, double y);

Este método retorna um número igual a - (b Q), onde Q é o quociente de a / b arredondado para o inteiro mais próximo do tipo System.Double.

Nota:

  • Se a / b cair na metade entre dois inteiros, o inteiro par é retornado.
  • Se a - (b Q) for zero, o valor Positive Zero (0.0f) será retornado se a for positivo ou Negative Zero(-0.0f) se a for negativo.
  • Se b = 0, NaN é retornado.

ObsNaN (Not a Number) é um valor do tipo de dados numérico que representa um valor indefinido ou irrepresentável, especialmente em cálculos de ponto flutuante.

O método IEEERemainder e o operador Remainder são usados para retornar o restante após a divisão, mas as fórmulas que eles usam são diferentes.

Exemplo:

Abaixo vemos o resultado da execução do código acima:

4 - BigMul

O método Math.BigMul produz o produto completo de dois números de 32 bits.

Sintaxe:

public static long BigMul (int a, int b);

O retorno é do tipo System.Int64.

Exemplo:

5 - DivRem

O método Math.DivRem() divide dois números e retorna o resto da divisão.

Usando o operador de divisão ( / ), não obtemos o restante em uma variável separada, mas usando o método DivRem(), obtemos ambos : o quociente e o resto.

Esse método pode ser sobrecarregado passando diferentes tipos e números de argumentos:  

  • Math.DivRem (Int32, Int32, Int32)
  • Math.DivRem (Int64, Int64, Int64)

Sintaxe:

public static int DivRem(int a, int b,out int resto) 

Parâmetros :

  • a - o dividendo
  • b - o divisor
  • resto - o resto

O retorno será o quociente dos números especificados e o resto da divisão.

Considerando:

Exemplo:

Esses são alguns dos métodos e constantes da classe Math que quase nunca usamos.

Pgue o projeto aqui :  ClasseMath.zip

'Ora, o homem natural não compreende as coisas do Espírito de Deus, porque lhe parecem loucura; e não pode entendê-las, porque elas se discernem espiritualmente.'
1 Coríntios 2:14

Veja os Destaques e novidades do SUPER DVD Visual Basic (sempre atualizado) : clique e confira !

Quer migrar para o VB .NET ?

Quer aprender C# ??

Quer aprender os conceitos da Programação Orientada a objetos ?

Quer aprender o gerar relatórios com o ReportViewer no VS 2013 ?

Quer aprender a criar aplicações Web Dinâmicas usando a ASP .NET MVC 5 ?

 

  Gostou ?   Compartilhe no Facebook   Compartilhe no Twitter

 

Referências:


José Carlos Macoratti