Pra que serve a keyword strictfp? [RESOLVIDO]

3 respostas
Y

Por favor, alguém poderia explicar e dar um exemplo do uso da keyword strictp.

A explicação que encontrei em um site foi: “strictfp: usado em frente a um método ou classe para indicar que os números de ponto flutuante seguirão as regras de ponto flutuante em todas as expressões”.

Desde já agradeço.

Att, Yky Mattshawn.

3 Respostas

T

Acho que isso só está implementado em algumas versões da JVM da BEA.
Nessa JVM, se você faz uma conta, e você não especificar strictfp, a JVM tenta sempre usar a máxima precisão do processador nos resultados intermediários.
No caso de processadores Intel, os resultados intermediários podem ser calculados com 80 bits em vez de 64 bits (double) ou 32 bits (float). Ou seja, dessa maneira pode ser que alguma expressão mais complicada dê resultados diferentes da JVM da Sun (que trabalha sempre em modo “strictfp”, mesmo que isso implique em reduzir a velocidade de processamento - podar os bits de máxima precisão reduz a velocidade, em vez de aumentar).

Y

Beleza!

Thank you very much. :smiley:

marciosantri

thingol:
Acho que isso só está implementado em algumas versões da JVM da BEA.
Nessa JVM, se você faz uma conta, e você não especificar strictfp, a JVM tenta sempre usar a máxima precisão do processador nos resultados intermediários.
No caso de processadores Intel, os resultados intermediários podem ser calculados com 80 bits em vez de 64 bits (double) ou 32 bits (float). Ou seja, dessa maneira pode ser que alguma expressão mais complicada dê resultados diferentes da JVM da Sun (que trabalha sempre em modo “strictfp”, mesmo que isso implique em reduzir a velocidade de processamento - podar os bits de máxima precisão reduz a velocidade, em vez de aumentar).

Sinistro!!! A Kathy Sierra me ensinou isso uma vez, mas eu juro que não lembrava… :shock:

Criado 7 de maio de 2007
Ultima resposta 7 de mai. de 2007
Respostas 3
Participantes 3