Função fmod c ++

Função fmod c ++
Em geral, para calcular um restante a partir de dois valores, simplesmente os dividimos manualmente ou costumamos usar uma calculadora para fazê -lo. Mas se falarmos sobre os cálculos nas linguagens de programação, algumas funções internas são responsáveis ​​pelo cálculo dos restos, valores fracionários. A linguagem de programação C ++ também contém funções padrão em relação ao tempo, datas e outras operações matemáticas. A função fmod () é uma das operações matemáticas executadas com dois valores dos mesmos tipos de dados diferentes ou diferentes. Este tutorial abordará a descrição da função fmod () e exemplos de implementação.

Fmod ()

Esta função dá o restante quando duas variáveis ​​x e y, o numerador e o denominador passam por um método de divisão. Em outras palavras, quando x é dividido por y, um ponto flutuante, o restante decimal é obtido. Esta função também é conhecida como uma função da biblioteca, pois usa um arquivo de cabeçalho CMATH no código -fonte. Um restante de ponto flutuante do numerador/ denominador que é arredondado para zero é obtido.

fmod (x, y) = x - citação * y

A citação é um valor truncado (arredondado para zero) que é resultado de x/y.

Sintaxe:

Resultado duplo = fmod (variável x, variável y),

Aqui, x e y são duas variáveis ​​para diferentes tipos de dados que são passados ​​como um parâmetro da função.

Protótipo fmod ()

dble fmod (dble x, dble y);

fmod (FLT X, FLT Y);
fmod fmod (GNG dble x, lng dble y);

A função leva dois argumentos como em tipos de dados duplos, flutuantes, longos duplos, inteiros ou de dados mistos. Da mesma forma, o resultante é retornado por um valor de três tipos de dados.

Implementação da função fmod ()

Para implementar o FMOD () no sistema Ubuntu Linux, precisamos de uma ferramenta de editor de texto para o código -fonte e um terminal do Ubuntu para a execução do valor resultante. Para isso, o usuário deve ter privilégios para acessar os aplicativos facilmente.

Exemplo 1

O restante do ponto flutuante do numerador e denominador será calculado neste exemplo. Para executar o programa de C ++, precisamos de dois arquivos básicos de cabeçalho para serem incluídos no código. Um desses dois é 'iostream'. Esta biblioteca nos permite o uso de recursos de entrada e saída. Por exemplo, para exibir qualquer declaração, você precisa de cout, que seja ativado por causa desta biblioteca. Em segundo lugar, precisamos de 'cmath'. Como o nome indica, está relacionado à matemática e responsável por fornecer todas as operações no programa.

#incluir
#incluir

Dentro do programa principal, pegamos duas variáveis ​​duplas. A abordagem de atribuir valores às variáveis ​​e aplicar operações nelas é semelhante à função modf () de c++. Ambas as variáveis ​​contêm valores duplos positivos neles. A variável resultante também será do tipo de dados duplo, pois ambas as variáveis ​​de entrada contêm valores duplos, portanto o resultado deve ser um valor duplo.

Resultado = fmod (x, y);

Esta função calculará a resposta decimal flutuante. O resultado dos dois valores é exibido usando uma barra '/'.

A segunda afirmação também desempenha a mesma função, mas uma variável contém um valor duplo positivo e a segunda variável contém um valor negativo. O numerador é um valor negativo. Agora, salve o código no arquivo do editor de texto e depois vá para o terminal do Ubuntu para a execução do código. No sistema operacional Linux, precisamos de um compilador para a execução do código C ++. Este compilador é g++. Ele precisa de um arquivo de entrada com o código, um arquivo de saída e '-o' para salvar a respectiva saída.

$ g ++ -o fmod fmod.c

Este comando compilará o código e agora usará o comando de execução para ver os resultados.

$ ./fmod

Na execução, você verá que, no primeiro exemplo, um simples valor duplo é obtido. Considerando que no segundo caso, enquanto estiver usando um numerador negativo, isso dará um valor duplo negativo. Realizaremos ainda mais alguns experimentos nas variáveis ​​de entrada posteriormente no exemplo.

Exemplo 2

Como no código de exemplo anterior, tomamos um valor positivo e negativo do mesmo tipo de dados que era o dobro. Mas neste exemplo, uma variável será do tipo de dados inteiro, enquanto o segundo será do tipo de dados duplo. A variável de tipo de dados inteira conterá um valor negativo. Este será um denominador. A variável resultante será do tipo de dados duplo, pois a resposta do número inteiro e dos valores duplos está no valor duplo.

Portanto, isso resultará no valor duplo positivo. No segundo caso, o valor de x, o valor do numerador, é o mesmo que tomamos no primeiro fmod () no exemplo. Mas o valor de Y, o denominador, é considerado '0'.

Agora, execute este código usando o mesmo compilador e veja quais são os resultados mostrados no terminal.

Para a primeira linha, o resultante será um valor positivo. Mas para o segundo caso, quando usamos um valor zero no denominador, a resposta será 'nan' (não um número). Pode ser um valor de lixo. Em geral, como sabemos que qualquer coisa dividida por '0' fornece um valor 0, então a mesma coisa é aplicada aqui.

Exemplo 3

A entrada será realizada externamente neste exemplo. Quando o programa é executado, o compilador exibe a mensagem para o usuário para que ele possa inserir os dados. Mas ambos os valores de numerador e denominador devem estar em duplo tipo de dados. A função fmod () será aplicada nos valores inseridos e o resultante será armazenado na variável dupla restante.

Agora o usuário é solicitado a fornecer dados. Ambos os valores que o usuário entrou é positivo, então a resposta será um valor positivo de flutuação. Aplicamos diferentes condições de números de entrada para ver o valor resultante. Pela primeira vez, o usuário entrou em um valor de numerador maior que o denominador. O valor da função fmod () está de 0 a 1.

E se o usuário fornecer o valor de entrada tanto em valores positivos quanto um valor menor do numerador e um denominador maior, o valor é maior em comparação com um valor menor de denominador.

Por outro lado, se um numerador tiver um valor negativo, o resultante como um todo será um valor negativo. Mas se aplicarmos um valor negativo para o denominador, isso não afetará os resultados, será positivo.

Isso significa que o valor resultante positivo/ negativo de fmod () depende do valor do numerador.

Conclusão

O restante do ponto flutuante de dois valores, numerador ou denominador, é obtido por meio de uma função fmod (). Esta função não apenas retorna um valor positivo, mas também um valor negativo é obtido dependendo do valor do numerador. Um valor incerto nenhum valor é obtido com um denominador '0'. Portanto, ambas as variáveis ​​que são passadas como um parâmetro devem ser um número válido de qualquer tipo de dados. O valor do tipo de dados de retorno está principalmente em dupla ou flutuação.