bit32
*Este conteúdo é traduzido por IA (Beta) e pode conter erros. Para ver a página em inglês, clique aqui.
Esta biblioteca fornece funções para realizar operações de bits.
Limitações de Número
Esta biblioteca trata números como inteiros de 32 bits não assinados; os números serão convertidos para isso antes de serem usados (veja imagem abaixo).Números com números decimais são arredondados para o número inteiro mais próximo.

Resumo
Funções
Retorna um número depois que seus bits foram movidos aritmeticamente para a direita por um deslocamento dado.
Retorna o AND bitwise de todos os números fornecidos.
Retorna a negação bitwise de um número dado.
Retorna o OR bitwise de todos os números fornecidos.
Retorna um booleano que descreve se o bitwise e seus operandos são diferentes de zero.
Retorna o XOR bitwise de todos os números fornecidos.
Retorna o número dado com a ordem dos bytes trocados.
Retorna o número de zeros consecutivos na representação de 32 bits do número fornecido, começando pelo bit mais significativo à esquerda.
Retorna o número de bits zero consecutivos na representação de 32 bits do número fornecido, começando pelo bit mais à direita (menos significativo).
Extraia uma gama de bits de um número e retorne-os como um número não assinado.
Retorne uma cópia de um número com um conjunto de bits substituídos por um valor dado.
Retorna um número depois que seus bits foram girados para a esquerda por um número dado de vezes.
Retorna um número cujos bits foram movidos logicamente para a esquerda por um deslocamento dado.
Retorna um número depois que seus bits foram girados para a direita por um número dado de vezes.
Retorna um número cujos bits foram logicamente movidos para a direita por um deslocamento dado.
Funções
arshift
Retorna o número x deslocado para a direita disp bits.O número disp pode ser qualquer integralrepresentável.Deslocamentos negativos mudam para a esquerda.
Essa operação de mudança é chamada de mudança aritmética.Os bits vazios à esquerda são preenchidos com cópias do bit superior de x ; os bits vazios à direita são preenchidos com zeros.Em particular, deslocamentos com valores absolutos maiores que 31 resultam em zero ou 0xFFFFFFFF (todos os bits originais são deslocados).
Parâmetros
Devolução
band
Retorna o AND bitwise de todos os números fornecidos.
Cada bit é testado contra a seguinte tabela de verdade:
<th>B</th><th>Produção</th></tr></thead><tbody><tr><td>0</td><td>0</td><td>0</td></tr><tr><td>1</td><td>0</td><td>0</td></tr><tr><td>0</td><td>1</td><td>0</td></tr><tr><td>1</td><td>1</td><td>1</td></tr></tbody>
A |
---|

Parâmetros
Devolução
bor
Retorna o OR bitwise de todos os números fornecidos.
Cada bit é testado contra a seguinte tabela de verdade:
<th>B</th><th>Produção</th></tr></thead><tbody><tr><td>0</td><td>0</td><td>0</td></tr><tr><td>1</td><td>0</td><td>1</td></tr><tr><td>0</td><td>1</td><td>1</td></tr><tr><td>1</td><td>1</td><td>1</td></tr></tbody>
A |
---|

Parâmetros
Devolução
bxor
Retorna o XOR bitwise de todos os números fornecidos.
Cada bit é testado contra a seguinte tabela de verdade:
<th>B</th><th>Produção</th></tr></thead><tbody><tr><td>0</td><td>0</td><td>0</td></tr><tr><td>1</td><td>0</td><td>1</td></tr><tr><td>0</td><td>1</td><td>1</td></tr><tr><td>1</td><td>1</td><td>0</td></tr></tbody>
A |
---|

Parâmetros
Devolução
extract
Retorna o número não assinado formado pelos bits field para field + width - 1 a partir de n .Os bits são numerados de 0 (menos significativos) a 31 (mais significativos).Todos os bits acessados devem estar na faixa [0, 31].O padrão para width é 1.
Devolução
lrotate
Retorna o número x girado para a esquerda disp bits.O número disp pode ser qualquer integralrepresentável.Para qualquer deslocamento válido, a seguinte identidade mantém:
assert(bit32.lrotate(x, disp) == bit32.lrotate(x, disp % 32))
Em particular, os deslocamentos negativos giram para a direita.
Devolução
lshift
Retorna o número x deslocado para a esquerda disp bits.O número disp pode ser qualquer integralrepresentável.Deslocamentos negativos mudam para a direita.Em qualquer direção, bits vazios são preenchidos com zeros.Em especial, deslocamentos com valores absolutos maiores que 31 resultam em zero (todos os bits são movidos para fora).

Para deslocamentos positivos, a seguinte igualdade se mantém:
assert(bit32.lshift(b, disp) == (b * 2^disp) % 2^32)
Devolução
rrotate
Retorna o número x girado para a direita disp bits. O número disp pode ser qualquer integralrepresentável.
Para qualquer deslocamento válido, a seguinte identidade mantém:
assert(bit32.rrotate(x, disp) == bit32.rrotate(x , disp % 32))
Em particular, os deslocamentos negativos giram para a esquerda.
Devolução
rshift
Retorna o número x deslocado para a direita disp bits.O número disp pode ser qualquer integralrepresentável.Deslocamentos negativos mudam para a esquerda.Em qualquer direção, bits vazios são preenchidos com zeros.Em especial, deslocamentos com valores absolutos maiores que 31 resultam em zero (todos os bits são movidos para fora).

Para deslocamentos positivos, a seguinte igualdade se mantém:
assert(bit32.rshift(b, disp) == (b % 2^32 / 2^disp) // 1)
Esta operação de mudança é o que é chamado de mudança lógica.