ForHosting KIT · Strumenti per sviluppatori

Calcolatore di rotazione dei bit a sinistra e a destra

Questo calcolatore esegue una rotazione circolare verso sinistra o destra all’interno di un intero senza segno a larghezza fissa.

● BetaGratis · nel tuo browser
Usalo da WebAPIEmailTelegramApp presto

I bit che escono da un’estremità ricompaiono subito dall’altra, come avviene nei registri a scorrimento, nelle primitive crittografiche, nei checksum, nei sistemi embedded e nei formati di basso livello. Inserisca un valore decimale, esadecimale o binario, scelga larghezza e direzione e specifichi un conteggio non negativo. Il calcolatore conserva le posizioni iniziali a zero e restituisce risultati esatti in formato decimale, binario a larghezza fissa ed esadecimale con riempimento.

Scelga il valore e la larghezza esatta del registro

Una rotazione ha significato solo quando è nota la larghezza in bit. Lo stesso valore numerico può dare risultati diversi in un registro da 8 bit e in uno da 16 bit, perché il confine di riporto si trova in posizioni differenti. Inserisca il valore senza segno nella normale notazione decimale oppure utilizzi il prefisso 0x per l’esadecimale e 0b per il binario. Selezioni quindi una larghezza compresa tra 1 e 4096 bit. Il valore deve rientrare completamente nella larghezza; rifiutare valori troppo grandi impedisce che un troncamento implicito nasconda informazioni. Le posizioni iniziali a zero appartengono al registro anche se non sono scritte nell’input. Per esempio, il decimale 5 con larghezza 8 viene interpretato come 00000101, non soltanto 101. Il campo binario restituito viene sempre completato fino alla larghezza scelta, mentre quello esadecimale riceve un numero sufficiente di cifre intere. Questa rappresentazione esplicita semplifica il confronto con uno schema di registro, un campo di protocollo, un debugger o un’implementazione in un linguaggio di programmazione.

Comprenda il movimento circolare nelle due direzioni

Una rotazione circolare è diversa da un normale scorrimento logico perché non elimina alcun bit e non inserisce nuovi zeri. Nella rotazione a sinistra, i bit avanzano verso l’estremità più significativa; quelli che oltrepassano il confine ritornano nelle posizioni meno significative. Nella rotazione a destra il movimento è inverso e i bit che escono dal lato meno significativo rientrano da quello più significativo. Il calcolatore applica l’operazione all’intero schema a larghezza fissa con un calcolo intero esatto. Un conteggio uguale alla larghezza restituisce lo schema originale, come qualsiasi multiplo intero della larghezza. Per questo il conteggio inserito viene ridotto modulo la larghezza e quello effettivo compare nel risultato come normalized_shift. È utile per controllare codice che accetta conteggi senza limite o per modellare hardware nel quale il selettore richiede un solo stato per ogni posizione. Un conteggio effettivo pari a zero viene gestito direttamente, conservando il valore senza tentare uno scorrimento completo non valido.

Legga l’output e verifichi un’implementazione

La risposta conserva il valore originale in forma decimale normalizzata, la larghezza scelta, il conteggio richiesto, quello effettivo e la direzione. Presenta poi il valore ruotato in decimale, binario a larghezza fissa ed esadecimale maiuscolo. Queste forme equivalenti servono controlli diversi: il binario espone ogni bit riportato, l’esadecimale coincide in modo compatto con registri e documentazione tecnica, mentre il decimale è comodo per API o test che evitano letterali con prefisso. Per provare un’implementazione, scelga uno schema con bit impostati vicino a entrambe le estremità, così uno scorrimento errato diventa evidente. Verifichi anche il conteggio zero, uno uguale alla larghezza e uno maggiore. Questi casi individuano comuni errori di riduzione modulare e comportamenti specifici dei linguaggi. L’algoritmo usa aritmetica intera a precisione arbitraria anziché operatori JavaScript a 32 bit; le larghezze maggiori non subiscono conversioni con segno o mascheramenti silenziosi. L’elaborazione è deterministica, locale e limitata, senza rete né stato casuale o temporale.

Controllare la logica di registri embedded

Confronti l’output del firmware con uno schema binario esatto a larghezza fissa prima di scrivere o revisionare il codice del dispositivo.

Verificare passaggi crittografici

Confermi le rotazioni circolari di funzioni hash, cifrari e operazioni di mescolamento senza sorprese dovute all’aritmetica con segno a 32 bit.

Creare vettori di test per protocolli

Generi risultati attesi decimali, binari ed esadecimali per campi i cui bit ritornano entro una larghezza definita.

Qual è la differenza tra rotazione e scorrimento dei bit?

Uno scorrimento logico elimina bit da un’estremità e inserisce zeri dall’altra. Una rotazione riporta quei bit sul lato opposto, mantenendoli tutti nello schema a larghezza fissa.

Che cosa accade quando il conteggio supera la larghezza?

Il conteggio viene ridotto modulo la larghezza. La risposta mostra sia lo scorrimento richiesto sia quello effettivo normalizzato.

Posso inserire valori esadecimali o binari?

Sì. Anteponda 0x al valore esadecimale e 0b a quello binario. Un input privo di prefisso viene interpretato come decimale.

Perché il valore deve rientrare nella larghezza scelta?

Un troncamento automatico potrebbe rimuovere silenziosamente i bit più alti e produrre un risultato fuorviante. Il calcolatore rifiuta il valore affinché Lei corregga esplicitamente il valore o la larghezza.

Quanto costa una richiesta API?

Ogni richiesta API costa $0.002. La versione nel browser esegue localmente lo stesso calcolo deterministico.

Tutto quello che vedi in questa pagina è disponibile anche via API. Questa sezione è per i team che vogliono integrarlo nei propri sistemi; chi non ne ha bisogno può semplicemente usare lo strumento qui sopra.

POSThttps://api.kit.forhosting.com/elec/rotate-bits

Autenticazione con Bearer token: un POST mette in coda l'attività e il risultato arriva via webhook o link firmato.

curl -X POST https://api.kit.forhosting.com/elec/rotate-bits \
  -H "Authorization: Bearer $KIT_KEY" \
  -H "Content-Type: application/json" \
  -d '{"value":"150","width":8,"shift":3,"direction":"left"}'
{
  "value": "150",
  "width": 8,
  "shift": 3,
  "direction": "left"
}
{
  "task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
  "type": "elec.rotate_bits",
  "status": "queued",
  "_links": {
    "result": "/tasks/tsk_…/result"
  }
}

L'API è asincrona: ricevi subito un task_id e puoi fare polling fino a 1 richiesta al secondo.

per richiesta$0.002

Prezzo pubblicato, senza token né crediti. Se l'attività fallisce, non paghi.

HTTPCodiceSignificato
401unauthorizedChiave API mancante o non valida: controlla l'header Authorization.
402insufficient_balanceCredito esaurito: ricarica per continuare a eseguire attività.
404unknown_typeTipo di attività sconosciuto: controlla il campo type della richiesta.
429rate_limitedTroppe richieste in poco tempo: rallenta e riprova tra qualche secondo.

Leggi la documentazione completa del KIT →