"Se um trabalhador quiser fazer bem o seu trabalho, ele deve primeiro afiar suas ferramentas." - Confúcio, "Os Analectos de Confúcio. Lu Linggong"
Primeira página > Programação > Como o operador de tubo único em JavaScript lida com números flutuantes e inteiros?

Como o operador de tubo único em JavaScript lida com números flutuantes e inteiros?

Publicado em 2024-11-08
Navegar:594

 How Does the Single Pipe Operator in JavaScript Handle Floats and Integers?

Explorando a natureza bit a bit do operador de pipe único em JavaScript

Em JavaScript, o operador de pipe único ("|") executa um operador de pipe único ("|") operação conhecida como OR bit a bit. Compreender esta operação é crucial para compreender seus efeitos em diferentes valores de entrada, conforme demonstrado nos exemplos a seguir:

console.log(0.5 | 0); // 0
console.log(-1 | 0);  // -1
console.log(1 | 0);   // 1

Comportamento com flutuadores:

Quando aplicado a um número de ponto flutuante como 0,5, o operador de barra vertical trunca o número para um número inteiro, resultando em 0 no primeiro exemplo. Esse truncamento ocorre porque as operações bit a bit são definidas apenas para números inteiros.

Comportamento com números inteiros:

No entanto, quando o operador de pipe único é usado com números inteiros, independentemente de eles são positivos ou negativos, ele simplesmente retorna o próprio número inteiro de entrada. Por exemplo, -1 permanece -1 e 1 permanece 1, como visto nos exemplos subsequentes.

Essência do OR bit a bit:

Em essência, o operador OR bit a bit funciona executando uma operação AND binária em cada bit correspondente de seus dois operandos de entrada, resultando em 1 se um dos bits for 1 e 0 caso contrário. No entanto, como um dos operandos é sempre o número inteiro 0 no caso de "x | 0", o resultado é sempre o número inteiro original x porque qualquer operação AND bit a bit com 0 produz 0.

Tutorial mais recente Mais>

Isenção de responsabilidade: Todos os recursos fornecidos são parcialmente provenientes da Internet. Se houver qualquer violação de seus direitos autorais ou outros direitos e interesses, explique os motivos detalhados e forneça prova de direitos autorais ou direitos e interesses e envie-a para o e-mail: [email protected]. Nós cuidaremos disso para você o mais rápido possível.

Copyright© 2022 湘ICP备2022001581号-3