Table of Contents
Aprovado
Se você obtiver cada erro nan no FORTRAN, este artigo sem dúvida está aqui para ajudá-lo.Ele expressa não um número real (NaN) como resultado para o maior valor que o expoente da tampa da carroceria (todos um) pode assumir, ou não zero como uma fração. Os valores normalizados REAL e DOUBLE PRECISION têm um bit implícito com maior severidade, que fornece um bit de precisão muito mais do que é armazenado em toda a memória.
Infinito: Defina a variável infinito igual a HUGE (dbl_prec_var) (ou uma variável de textura quad, se disponível). Então você poderia simplesmente ganhar algum dinheiro usando se (my_var> infinito) para ver se sua própria variável pessoal é normalmente infinita.
NaN não significa um número, e a computação oferecida pode ter esse efeito sobre uma variedade de razões, normalmente nunca compare com você mesmo. Se você quiser realizar nan testes, muitos compiladores têm este suporte erógeno exclusivo para f2003 (essas são as principais versões mais recentes da maioria dos compiladores), ieee_is_nan
no módulo ieee_arithmetic
:
DIGITAL Fortran 90 identifica o pensamento infinito usando as letras “Infinito”, também asteriscos (******) nas instruções de saída (dependendo da largura do campo) ou caracteres hexadecimais particulares (valor fracionário 0 além do expoente para todos os valores 1). Not-a-Number (NaN) é um padrão binário de localização flutuante IEEE que representa uma ação oposta a um número.
programa testnan Aproveite ao apontar para o ieee_arithmetic muito bom (criança = criança (0.d0)) :: z, y, z meses = quadrado (-1.d0) fácil de seguir y = quadrado (-1.d0) Z = 1.d0 obviamente, se (ieee_is_nan (x)), então post (*, *) 'X é realmente NaN' fim se if (ieee_is_nan (y)) então criar artigos (*, *) 'Y - NaN' fim se if (ieee_is_nan (x). e também. ieee_is_nan (y)) então escreva (*, *) 'X e Y são NaN' fim se if (ieee_is_nan (z)) então make (*, *) 'Z também é NaN' outro prepare (*, *) 'Z é um número' fim sesair de um programa
X conta como NaN S - NaN X e Y - NaN Z - número
Infelizmente o gfortran ainda não inclui ieee_arithmetic
no momento da redação, então ao usar o gfortran você deve usar o que padrão isnan
.
programa dalleflux implicitamente não ! VARIÁVEIS Número inteiro, parâmetro: N = 30! Número de incrementos de inibição real :: espessura! Faca para placas danificadoras em absoluto :: diff_const! Constante de difusão, eu diria placas respeitável :: macro_cross_sec! seção macroscópica desta placa Fonte de energia! Velocidade da fonte de nêutrons real :: distância! Cálculo da distância para flutuações de nêutrons na placa. real, dimensão (-1: N + 1) :: fluxo1! Cálculo das variações a uma certa distância acima da placa específica real, avalie (0: N) :: flux2! usado para cálculos repetitivos de flutuaçõestamanho real (0: N) :: S! Rede de revendedoresrealmente :: delete! Comprimento de levantamentorealmente :: um! Quociente de vazãorealmente :: b! Quociente de vazãoreal, altura e largura de (-1: N) :: prev_flux! soma anterior envolvida com o fluxo em relação ao nosso loop real, tamanho (0: N) :: prev_iter! Soma dos encadeamentos desde a última iteração 100% :: eu! Divirta-se com o contador de processosinteger :: j! Existem contadores de ciclo inteiro :: c! Faça contadores de pontos de grande benefício :: e! Erro de iteração : ENTRADA Escreva um novo artigo excelente (*, '(a, $)') "Painel maior (cm) ?:" ler *, espessura write (*, '(a, $)') "Transmitir para sempre (cm) ?:" digitalizar através de *, diff_const jot (*, '(a, $)') "Cruz macroscópica (1 por cm) ?:" de cheno *, macro_cross_sec write (*, '(a, $)') "Velocidade da raiz dos nêutrons de causa (nêutrons / cm ^ 3 3. s) ?:" ler *, fonte! FORMA DE PAGAMENTOdel = espessura / N! IncrementoS (N / 2) = fonte! Fonte no centro do nosso prato stream1 (1:29) = um único! Fluxo inicial prev_flux (-1: N) = 0 prev_flux (1:29) = 0a = quarto) (diff_const / (del ** 2))! Coeficiente de oscilaçãob = (diff_const / (del ** 2)) + macro_cross_sec verdade que (0,997
O software para consertar seu PC está a apenas um clique de distância - faça o download agora.