English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Método de Retorno do Módulo de Número Grande (Número Flutuante) Implementado em PHP

Este artigo ilustra como realizar a operação de resto de números grandes (números de ponto flutuante) em PHP. Compartilho com vocês para referência, conforme detalhado a seguir:

Geralmente, a primeira coisa que pensamos ao fazer a operação de resto é usar o sinal de porcentagem %, mas quando o divisor é um número muito grande, que ultrapassa o escopo do int, assim, a operação de resto não é precisa.

Função de Remainder de Grandes Números (Números de Ponto Flutuante) em PHP:

/**
 * Remainder de Grandes Números em PHP
 *
 * @param int ou float $bn Divisor
 * @param int $sn Dividendo
 * @return int Resto
 */
//Método de Remainder de Grandes Números (Números de Ponto Flutuante)
function Kmod($bn, $sn) {
  return intval(fmod(floatval($bn), $sn));
}

Código de Teste:

//Método de Remainder de Grandes Números (Números de Ponto Flutuante)
function Kmod($bn, $sn) {
  return intval(fmod(floatval($bn), $sn));
}
//Método de Remainder de Inteiros
function mod($bn, $sn) {
  return $bn%$sn;
}
//O maior inteiro int
$bn = PHP_INT_MAX;
$sn = 11;
var_dump($bn);
var_dump(Kmod($bn, $sn));
var_dump(mod($bn, $sn));
//Adicionar o maior inteiro int1
$bn = PHP_INT_MAX + 1;
var_dump($bn);
var_dump(Kmod($bn, $sn));
var_dump(mod($bn, $sn));

Resultados da Execução:

int 2147483647
int 1
int 1
float 2147483648
int 2
int -2

Leitores interessados em mais conteúdo sobre PHP podem consultar as seções especiais do site: 'Resumo de Técnicas de Operação Matemática em PHP', 'Resumo de Uso de Operadores e Operações em PHP', 'Resumo de Uso de String (string) em PHP', 'Guia Completo de Operações de Array (Array) em PHP', 'Resumo de Algoritmos de Percurso Comuns e Técnicas em PHP', 'Tutorial de Estructuras de Dados e Algoritmos em PHP', 'Resumo de Algoritmos de Programação em PHP', 'Resumo de Uso de Expressões Regulares em PHP' e 'Resumo de Técnicas Comuns de Operação de Banco de Dados em PHP'

Espero que o conteúdo deste artigo ajude a todos a programar em PHP.

Declaração: O conteúdo deste artigo é extraído da Internet, pertence ao respectivo proprietário, foi contribuído e carregado voluntariamente pelos usuários da Internet, o site não possui direitos de propriedade, não foi editado manualmente e não assume responsabilidade legal. Se você encontrar conteúdo suspeito de violação de direitos autorais, por favor, envie e-mail para: notice#oldtoolbag.com (ao enviar e-mail, substitua # por @ para denunciar e forneça provas. Apenas após a verificação, o site deletará o conteúdo suspeito de violação de direitos autorais.)

Você Também Gostaria de Ver