A Classe Math Parte 5

Tempo de leitura: 8 min

Escrito por Michel Adriano Medeiros
em 26/04/2020

floorMod​(long x, int y)

floorMod​(long x, int y) – Retorna o módulo de piso dos argumentos long e int.

public static int floorMod​(long x, int y) – Retorna o módulo de piso dos argumentos long e int.

O módulo do piso é x – (floorDiv (x, y) * y), tem o mesmo sinal que o divisor y e está no intervalo de -abs (y) <r <+ abs (y).

A relação entre floorDiv e floorMod é tal que:

  • floorDiv(x, y) * y + floorMod(x, y) == x

Para exemplos, consulte floorMod (int, int).

Parâmetros:

x – o dividendo
y – o divisor

Retornos:

o módulo de piso x – (floorDiv (x, y) * y)

Lançamentos:

ArithmeticException – se o divisor y for zero

Esse método existe desde a versão 9.

Veja também:

floorDiv(long, int)

Fonte do código: https://www.tutorialandexample.com/java-math-floormod-method/

floorMod​(long x, long y)

floorMod​(long x, long y) – Retorna o módulo de piso dos argumentos longos.

public static long floorMod​(long x, long y) – Retorna o módulo de piso dos argumentos longos.

O módulo do piso é x – (floorDiv (x, y) * y), tem o mesmo sinal que o divisor y e está no intervalo de -abs (y) <r <+ abs (y).

A relação entre floorDiv e floorMod é tal que:

  • floorDiv(x, y) * y + floorMod(x, y) == x

Para exemplos, consulte floorMod (int, int).

Parâmetros:

x – o dividendo
y – o divisor

Retornos:

o módulo de piso x – (floorDiv (x, y) * y)

Lançamentos:

ArithmeticException – se o divisor y for zero

Esse método existe desde a versão 1.8.

Veja também:

floorDiv(long, long)

Fonte do código: https://www.tutorialandexample.com/java-math-floormod-method/

fma​(double a, double b, double c)

fma​(double a, double b, double c) – Retorna a adição multiplicada com fusão dos três argumentos; isto é, retorna o produto exato dos dois primeiros argumentos somados com o terceiro argumento e depois arredondado uma vez para o dobro mais próximo.

public static double fma​(double a, double b, double c) – Retorna a adição multiplicada com fusão dos três argumentos; isto é, retorna o produto exato dos dois primeiros argumentos somados com o terceiro argumento e depois arredondado uma vez para o dobro mais próximo. O arredondamento é feito usando o arredondamento para o modo de arredondamento uniforme mais próximo. Por outro lado, se a * b + c é avaliado como uma expressão regular de ponto flutuante, dois erros de arredondamento são envolvidos, o primeiro para a operação de multiplicação e o segundo para a operação de adição.

Casos especiais:

  • Se qualquer argumento for NaN, o resultado será NaN.
  • Se um dos dois primeiros argumentos for infinito e o outro for zero, o resultado será NaN.
  • Se o produto exato dos dois primeiros argumentos for infinito (em outras palavras, pelo menos um dos argumentos for infinito e o outro não for zero nem NaN) e o terceiro argumento for uma infinidade do sinal oposto, o resultado será NaN.

Observe que fma (a, 1.0, c) retorna o mesmo resultado que (a + c). No entanto, fma (a, b, +0.0) nem sempre retorna o mesmo resultado que (a * b), pois fma (-0.0, +0.0, +0.0) é +0.0 enquanto (-0.0 * +0.0) é -0.0 ; fma (a, b, -0,0) é equivalente a (a * b) no entanto.

Nota da API:

Este método corresponde à operação fusedMultiplyAdd definida em IEEE 754-2008.

Parâmetros:

a – um valor
b – um valor
c – um valor

Retornos:

(a × b + c) calculado, como se tivesse alcance e precisão ilimitados, e arredondado uma vez para o valor duplo mais próximo

Esse método existe desde a versão 9.

Fonte do código: https://www.geeksforgeeks.org/strictmath-fma-method-in-java-with-examples/

fma​(float a, float b, float c)

fma​(float a, float b, float c) – Retorna a adição multiplicada com fusão dos três argumentos; isto é, retorna o produto exato dos dois primeiros argumentos somados com o terceiro argumento e, em seguida, arredondado uma vez para o flutuador mais próximo.

public static float fma​(float a, float b, float c) – Retorna a adição multiplicada com fusão dos três argumentos; isto é, retorna o produto exato dos dois primeiros argumentos somados com o terceiro argumento e, em seguida, arredondado uma vez para o flutuador mais próximo. O arredondamento é feito usando o arredondamento para o modo de arredondamento uniforme mais próximo. Por outro lado, se a * b + c é avaliado como uma expressão regular de ponto flutuante, dois erros de arredondamento são envolvidos, o primeiro para a operação de multiplicação e o segundo para a operação de adição.

Casos especiais:

  • Se qualquer argumento for NaN, o resultado será NaN.
  • Se um dos dois primeiros argumentos for infinito e o outro for zero, o resultado será NaN.
  • Se o produto exato dos dois primeiros argumentos for infinito (em outras palavras, pelo menos um dos argumentos for infinito e o outro não for zero nem NaN) e o terceiro argumento for uma infinidade do sinal oposto, o resultado será NaN.

Observe que fma (a, 1.0f, c) retorna o mesmo resultado que (a + c). No entanto, fma (a, b, + 0,0f) nem sempre retorna o mesmo resultado que (a * b), pois fma (-0,0f, + 0,0f, + 0,0f) é + 0,0f enquanto (-0,0f * + 0,0f) é -0,0f; fma (a, b, -0,0f) é equivalente a (a * b) no entanto.

Nota da API:

Este método corresponde à operação fusedMultiplyAdd definida em IEEE 754-2008.

Parâmetros:

a – um valor
b – um valor
c – um valor

Retornos:

(a × b + c) calculado, como se tivesse alcance e precisão ilimitados, e arredondado uma vez para o valor flutuante mais próximo

Esse método existe desde a versão 9.

Fonte do código: https://www.geeksforgeeks.org/math-fma-method-in-java-with-examples/

getExponent​(double d)

getExponent​(double d) – Retorna o expoente imparcial usado na representação de um duplo.

public static int getExponent​(double d) – Retorna o expoente imparcial usado na representação de um duplo. Casos especiais:

  • Se o argumento for NaN ou infinito, o resultado será Double.MAX_EXPONENT + 1.
  • Se o argumento for zero ou subnormal, o resultado será Double.MIN_EXPONENT -1.

Parâmetros:

d – um valor duplo

Retornos:

o expoente imparcial do argumento

Esse método existe desde a versão 1.6.

Fonte do código: https://www.tutorialspoint.com/java/lang/math_getexponent_double.htm

getExponent​(float f)

getExponent​(float f) – Retorna o expoente imparcial usado na representação de um flutuador.

public static int getExponent​(float f) – Retorna o expoente imparcial usado na representação de um flutuador. Casos especiais:

  • Se o argumento for NaN ou infinito, o resultado será Float.MAX_EXPONENT + 1.
  • Se o argumento for zero ou subnormal, o resultado será Float.MIN_EXPONENT -1.

Parâmetros:

f – um valor flutuante

Retornos:

o expoente imparcial do argumento

Esse método existe desde a versão 1.6.

Fonte do código: https://www.technicalkeeda.com/java-tutorials/java-math-getexponent-float-f-method-example

hypot​(double x, double y)

hypot​(double x, double y) – Retorna sqrt (x2 +y2) sem estouros ou estouros intermediários.

public static double hypot​(double x, double y) – Casos especiais:

  • Se um dos argumentos for infinito, o resultado será infinito positivo.
  • Se um dos argumentos for NaN e nenhum for infinito, o resultado será NaN.

O resultado calculado deve estar dentro de 1 ulp do resultado exato. Se um parâmetro for mantido constante, os resultados deverão ser semi-monotônicos no outro parâmetro.

Parâmetros:

x – um valor
y – um valor

Retornos:

sqrt (x2 +y2) sem overflow ou underflow intermediário

Esse método existe desde a versão 1.5.

Fonte do código: http://www.java2s.com/Code/JavaAPI/java.lang/MathhypotdoublexdoubleyReturnssqrtx2y2withoutintermediateoverfloworunderflow.htm

IEEEremainder​(double f1, double f2)

IEEEremainder​(double f1, double f2) – Calcula a operação restante em dois argumentos, conforme prescrito pelo padrão IEEE 754.

public static double IEEEremainder​(double f1, double f2) – Calcula a operação restante em dois argumentos, conforme prescrito pelo padrão IEEE 754. O valor restante é matematicamente igual a f1 – f2 × n, onde n é o número inteiro matemático mais próximo do valor matemático exato do quociente f1 / f2, e se dois inteiros matemáticos estão igualmente próximos de f1 / f2, então n é o número inteiro isso é par. Se o restante for zero, seu sinal é o mesmo que o primeiro argumento. Casos especiais:

  • Se um dos argumentos for NaN, ou o primeiro argumento for infinito, ou o segundo argumento for zero positivo ou zero negativo, o resultado será NaN.
  • Se o primeiro argumento for finito e o segundo argumento for infinito, o resultado será o mesmo que o primeiro argumento.

Parâmetros:

f1 – o dividendo.
f2 – o divisor.

Retornos:

o restante quando f1 é dividido por f2.

Fonte do código: https://www.tutorialspoint.com/java/lang/math_ieeeremainder.htm

incrementExact​(int a)

incrementExact​(int a) – Retorna o argumento incrementado por um, lançando uma exceção se o resultado exceder um valor int.

public static int incrementExact​(int a) – Retorna o argumento incrementado por um, lançando uma exceção se o resultado exceder um valor int. O estouro ocorre apenas para o valor máximo.

Parâmetros:

a – o valor a ser incrementado

Retornos:

o resultado

Lançamentos:

ArithmeticException – se o resultado exceder um valor int

Esse método existe desde a versão 1.8.

Fonte do código: https://javatutorialhq.com/java/lang/math-class-tutorial-2/incrementexact-method-example/

Fonte: https://docs.oracle.com/en/java/javase/14/docs/api/java.base/java/lang/Math.html

Você vai gostar também:

Para enviar seu comentário, preencha os campos abaixo:

Deixe um comentário


*


*


Seja o primeiro a comentar!

Damos valor à sua privacidade

Nós e os nossos parceiros armazenamos ou acedemos a informações dos dispositivos, tais como cookies, e processamos dados pessoais, tais como identificadores exclusivos e informações padrão enviadas pelos dispositivos, para as finalidades descritas abaixo. Poderá clicar para consentir o processamento por nossa parte e pela parte dos nossos parceiros para tais finalidades. Em alternativa, poderá clicar para recusar o consentimento, ou aceder a informações mais pormenorizadas e alterar as suas preferências antes de dar consentimento. As suas preferências serão aplicadas apenas a este website.

Cookies estritamente necessários

Estes cookies são necessários para que o website funcione e não podem ser desligados nos nossos sistemas. Normalmente, eles só são configurados em resposta a ações levadas a cabo por si e que correspondem a uma solicitação de serviços, tais como definir as suas preferências de privacidade, iniciar sessão ou preencher formulários. Pode configurar o seu navegador para bloquear ou alertá-lo(a) sobre esses cookies, mas algumas partes do website não funcionarão. Estes cookies não armazenam qualquer informação pessoal identificável.

Cookies de desempenho

Estes cookies permitem-nos contar visitas e fontes de tráfego, para que possamos medir e melhorar o desempenho do nosso website. Eles ajudam-nos a saber quais são as páginas mais e menos populares e a ver como os visitantes se movimentam pelo website. Todas as informações recolhidas por estes cookies são agregadas e, por conseguinte, anónimas. Se não permitir estes cookies, não saberemos quando visitou o nosso site.

Cookies de funcionalidade

Estes cookies permitem que o site forneça uma funcionalidade e personalização melhoradas. Podem ser estabelecidos por nós ou por fornecedores externos cujos serviços adicionámos às nossas páginas. Se não permitir estes cookies algumas destas funcionalidades, ou mesmo todas, podem não atuar corretamente.

Cookies de publicidade

Estes cookies podem ser estabelecidos através do nosso site pelos nossos parceiros de publicidade. Podem ser usados por essas empresas para construir um perfil sobre os seus interesses e mostrar-lhe anúncios relevantes em outros websites. Eles não armazenam diretamente informações pessoais, mas são baseados na identificação exclusiva do seu navegador e dispositivo de internet. Se não permitir estes cookies, terá menos publicidade direcionada.

Visite as nossas páginas de Políticas de privacidade e Termos e condições.

Importante: Este site faz uso de cookies que podem conter informações de rastreamento sobre os visitantes.
Criado por WP RGPD Pro