ForHosting KIT · Ferramentas para dev

Deslocamento aritmético à direita de inteiros

Com 8 bits, −42 deslocado 3 posições à direita dá −6: o padrão 11010110 vira 11111010 porque o bit de sinal é copiado para as posições livres. Escolha uma largura de 2 a 1024 bits para conferir instruções de processador ou formatos binários. Grátis no seu navegador.

  • Grátis
  • Funciona no seu navegador
  • Sem cadastro
  • Seus dados não saem do seu aparelho
Use pelo WebAPIE-mailTelegramApp em breve
Se você digitar
Valor
-42
Largura
8
Deslocamento
3
Você obtém
Resultado
-6
Binário de entrada
11010110
Resultado em binário
11111010
Bit de sinal
1

Esta calculadora de deslocamento aritmético à direita move os bits de um inteiro com sinal e copia o bit mais significativo para as posições abertas à esquerda. Escolha a largura, informe um inteiro decimal, hexadecimal ou binário com sinal e defina o deslocamento. O resultado traz valores decimais exatos e padrões binários preenchidos até a largura escolhida, sem depender do tamanho inteiro implícito de uma linguagem.

Escolha primeiro a largura com sinal

O deslocamento aritmético só é preciso quando a largura do inteiro é conhecida. Os mesmos bits podem indicar um valor positivo em uma largura e negativo em outra, pois o bit mais significativo representa o sinal em complemento de dois. Escolha de 2 a 1024 bits e forneça um valor dentro da faixa assinada.

A calculadora rejeita valores fora dela em vez de truncá-los silenciosamente. Use decimal para números negativos ou os prefixos 0x e 0b ao comparar registradores e campos binários. O padrão retornado é preenchido até a largura selecionada para que todos os bits fiquem visíveis.

Entenda a extensão do sinal

O deslocamento lógico insere zeros à esquerda; o aritmético repete o bit de sinal: zero para valores não negativos e um para negativos. Essa extensão preserva o sinal enquanto os bits se movem. Para negativos, o efeito numérico é uma divisão por potência de 2 arredondada para menos infinito: menos cinco deslocado uma posição resulta em menos três.

Trate deslocamentos grandes e inteiros exatos

Deslocar zero posições mantém o valor. Quando a contagem alcança ou supera a largura, resta apenas a extensão do sinal: zero para um valor não negativo e menos um para um negativo. Isso evita o mascaramento de contagem adotado por alguns processadores.

Todo cálculo usa inteiros de precisão arbitrária. Use um tipo inteiro exato ao consumir essas strings.

Validar instruções com sinal

Compare um emulador, compilador ou processador com uma operação de largura explícita.

Depurar formatos binários

Veja como um campo com sinal reage a operações de bits que preservam o sinal.

Ensinar complemento de dois

Exiba padrões preenchidos ao lado de suas interpretações decimais exatas.

O que faz um deslocamento aritmético à direita?

Move os bits à direita e preenche as posições altas com cópias do bit de sinal original.

Qual é a diferença para o deslocamento lógico?

O lógico sempre insere zeros; o aritmético insere o sinal e preserva valores negativos.

Quais formatos de entrada são aceitos?

Use texto decimal com sinal ou os prefixos 0x para hexadecimal e 0b para binário. Um sinal inicial é aceito.

O que ocorre quando a contagem alcança a largura?

O resultado é zero para valor não negativo e menos um para valor negativo.

Por que −5 deslocado uma vez dá −3 e não −2?

Porque o deslocamento aritmético equivale a dividir por uma potência de dois arredondando para menos infinito, não para zero. A metade de −5 fica entre −3 e −2, e o arredondamento para baixo resulta em −3.

Tudo nesta página está disponível via API. Esta seção é para equipes que querem integrar a ferramenta aos próprios sistemas; quem não precisa disso pode simplesmente usar a ferramenta acima.

POSThttps://api.kit.forhosting.com/dev/arithmetic-shift-right

Autenticação por token Bearer. Um único POST coloca a tarefa na fila; o resultado chega por webhook ou link assinado.

curl -X POST https://api.kit.forhosting.com/dev/arithmetic-shift-right \
  -H "Authorization: Bearer $KIT_KEY" \
  -H "Content-Type: application/json" \
  -d '{"value":"-42","width":8,"shift":3}'
{
  "value": "-42",
  "width": 8,
  "shift": 3
}
{
  "task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
  "type": "dev.arithmetic_shift_right",
  "status": "queued",
  "_links": {
    "result": "/tasks/tsk_…/result"
  }
}

A API é assíncrona: cada chamada devolve um task_id na hora. Se preferir polling, consulte o status a até 1 requisição por segundo.

por chamadaUS$ 0,002

Preço publicado, sem tokens nem créditos escondidos. Tarefa que falha não é cobrada.

HTTPCódigoO que significa
401unauthorizedToken ausente ou inválido. Confira o header Authorization.
402insufficient_balanceSaldo insuficiente para esta tarefa. Faça uma recarga e tente de novo.
404unknown_typeEsse tipo de tarefa não existe. Confira o campo type no catálogo.
429rate_limitedMuitas requisições em pouco tempo. Espere um instante e tente de novo.

Entenda a extensão do sinal

A saída mostra o resultado decimal, o padrão binário completo e `sign_bit`, que identifica o bit original replicado.

Trate deslocamentos grandes e inteiros exatos

Os resultados decimais são strings porque JSON não representa exatamente todos os valores de 64, 128 ou 1024 bits.

Por que os valores decimais retornam como strings?

Strings preservam inteiros exatos além da faixa numérica segura de JSON.

Quanto custa uma chamada de API?

Cada chamada de API custa US$ 0,002. A versão no navegador usa o mesmo cálculo determinístico.

Ver a documentação completa do KIT →