Calculadora Bitwise Shift
Deslocar os bits de um inteiro para esquerda ou direita — arithmetic/signed >> ou logical/unsigned >>> — com uma largura de bit escolhida (8/16/32/64), mostrando o padrão binário antes/depois mais o resultado em decimal e hexadecimal.
Entrada
Decimal (opcionalmente negativo) ou hex unsigned 0x-, ex. -8 ou 0xF0.
Número de posições de bit para deslocar. Quantidades ≥ a largura de bit são limitadas a um deslocamento completo (resultado 0, ou -1 para deslocamento aritmético de um valor negativo); quantidades negativas são tratadas como 0.
Saída
| Property | Value |
|---|---|
| No data yet | |
Guias
A Calculadora Bitwise Shift desloca os bits de um inteiro para esquerda ou direita e mostra o padrão binário exato antes-e-depois, mais o resultado em decimal e hexadecimal. Construída para quem precisa entender as operações de deslocamento com precisão — alunos aprendendo complemento de dois, desenvolvedores depurando uma máscara de bits, ou engenheiros verificando um truque de multiplicação/divisão rápida — em vez de apenas obter um número de volta.
Deslocamento aritmético vs. lógico
Deslocamento para esquerda (<<) sempre funciona da mesma forma: bits se movem para a posição mais significativa e zeros preenchem pela direita. Bits deslocados além da largura de bit escolhida são descartados.
Deslocamento para direita tem dois significados diferentes, e escolher o errado é uma fonte clássica de bugs:
- Deslocamento aritmético para direita (
>>, signed) preserva o sinal do valor. Se o número é negativo (seu bit superior é 1), os bits altos desocupados são preenchidos com 1s, então o resultado permanece negativo — a mesma regra que a divisão inteira que arredonda em direção ao infinito negativo. Isto é o que o operador>>faz na maioria das linguagens em inteiros assinados. - Deslocamento lógico para direita (
>>>, unsigned) ignora completamente o sinal. Os bits altos desocupados são sempre preenchidos com 0s, então um número negativo deslocado se torna um número positivo grande. Esta é a escolha correta quando você trata o valor como um padrão de bit bruto em vez de uma quantidade assinada — extraindo canais de cor de um pixel compactado, por exemplo.
Como a diferença apenas aparece em números negativos, é fácil testar corretamente com valores positivos e depois se surpreender em produção. Esta calculadora permite alternar entre os dois na mesma entrada para ver exatamente onde eles diferem.
Como usar
- Digite um Valor — um inteiro decimal (números negativos são permitidos, ex.
-8) ou um literal hex unsigned como0xF0. - Digite uma Quantidade de Deslocamento — quantas posições de bit deslocar.
- Escolha uma Direção do Deslocamento: deslocamento para esquerda, deslocamento aritmético (signed) para direita, ou deslocamento lógico (unsigned) para direita.
- Escolha uma Largura de Bit — 8, 16, 32, ou 64 bits. Isto determina como seu valor é preenchido e onde os bits caem da borda; o mesmo valor decimal pode deslocar de forma diferente dependendo da largura que você escolher.
A tabela de resultados mostra o padrão binário do valor original preenchido para sua largura escolhida, o padrão binário após o deslocamento, o resultado em decimal e o resultado em hex — atualizado instantaneamente conforme você altera qualquer campo.
FAQ
O que acontece se a quantidade de deslocamento é maior que a largura de bit? O resultado é o que você obteria deslocando cada bit original: 0 para deslocamento para esquerda e deslocamento lógico para direita, e 0 ou -1 (todos os bits definidos) para deslocamento aritmético para direita, dependendo se o valor era não-negativo ou negativo.
O que acontece com uma quantidade de deslocamento negativa? É tratada como 0 — o valor passa inalterado.
Por que uma entrada hex como 0xF0 desloca diferentemente do decimal 240?
Não desloca — 0xF0 e 240 são o mesmo valor. Entrada hex é apenas uma forma mais conveniente de digitar um padrão de bit exato quando você está pensando em termos binários/hex em vez de decimal.
Por que meu número negativo se tornou um número positivo enorme? Você provavelmente usou deslocamento lógico (unsigned) para direita em um valor negativo. Isto é esperado: deslocamento lógico não tem conceito de sinal, então preenche com 0s em vez de preservar o bit de sinal. Mude para deslocamento aritmético para direita se você quiser que o sinal seja preservado.
Isto é o mesmo que a Calculadora Bitwise geral? Não — a Calculadora Bitwise manipula AND/OR/XOR/NOT mais deslocamentos em um par de números. Esta ferramenta é especificamente para explorar o comportamento de deslocamento: ela adiciona um seletor de largura de bit e uma leitura binária completa antes/depois para que você possa ver precisamente quais bits se moveram, quais bits caíram e quais bits foram preenchidos.
Privacidade
Todos os cálculos executam inteiramente no seu navegador. Seu valor de entrada nunca é enviado a um servidor.
Use pelo código
API REST
curl -X POST https://api.iotools.cloud/v1/tool/bitwise-shift-calculator \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"value": "5",
"shiftAmount": "2",
"shiftDirection": "left",
"bitWidth": "8"
}'Troque pela sua própria chave, da sua conta. Os campos da ferramenta viram o corpo da requisição — sem envelope.
Peça a um agente de IA
Use the IOTools `bitwise-shift-calculator` tool (Bitwise Shift Calculator) on this input:
YOUR_INPUT_HERECole isto em qualquer agente conectado ao servidor MCP do IOTools e depois adicione sua entrada.
| Custo por chamada | A partir de 5 créditos |
|---|