Ativa o menu
Alternar menu de preferências
Alternar menu pessoal
Não autenticado(a)
Your IP address will be publicly visible if you make any edits.
Revisão de 15h46min de 6 de março de 2026 por MegaManx3 (discussão | contribs) (Criou página com '__NOTOC__ fixed '''Round''' (fixed ''value'') ==Uso== Arredonda o valor especificado para o número inteiro mais próximo. ===Valor de retorno=== O valor após o arredondamento, como um número de ponto fixo. ==Função customizada== {{note|A seguir está uma implementação não nativa da função, para versões do GZDoom anteriores à 2.4.0.}} Esta função implementa arredondamento. Ao realizar a operação de bitshift em um número de ponto fixo, o...')
(dif) ← Edição anterior | Revisão atual (dif) | Versão posterior → (dif)

fixed Round (fixed value)

Uso

Arredonda o valor especificado para o número inteiro mais próximo.

Valor de retorno

O valor após o arredondamento, como um número de ponto fixo.

Função customizada

Note: A seguir está uma implementação não nativa da função, para versões do GZDoom anteriores à 2.4.0.

Esta função implementa arredondamento. Ao realizar a operação de bitshift em um número de ponto fixo, o que você está fazendo na prática é simplesmente cortar o final do número, a parte que é menor que 1. Então 0.5 >> 16 retornará 0. Pode haver casos em que você queira, em vez disso, arredondar valores de 0.5 ou maiores para o inteiro mais próximo ao convertê-los para um inteiro, por exemplo ao definir uma posição absoluta para um hudmessage.

Se você precisa arredondar um número para o inteiro mais próximo, mas precisa que o número resultante seja um ponto fixo, você pode simplesmente fazer o bitshift de volta na direção oposta usando round(number) << 16.

// Retorna valor inteiro
function int round(int fixedNumber)
{
	return (fixedNumber + 0.5) >> 16;
}

Versão que corta a parte decimal

// Retorna valor em ponto fixo
function int floor(int fixedNumber)
{
	return fixedNumber & 0xFFFF0000;
}

Exemplos

Arquivo:Nuvolachalk.png Note: This article lists no examples. If you make use of this feature in your own project(s) or know of any basic examples that could be shared, please add them. This will make it easier to understand for future authors seeking assistance. Your contributions are greatly appreciated.