ForHosting KIT · Strumenti per sviluppatori

Calcolatore intero senza segno → con segno

255 su 8 bit è tutto a uno, quindi con segno vale −1: inserisca un valore senza segno e una larghezza da 2 a 53 bit per vedere la lettura in complemento a due, la sequenza di bit e se il bit alto è acceso. Gratis nel suo browser.

  • Gratis
  • Funziona nel suo browser
  • Senza registrazione
  • I suoi dati restano sul dispositivo
Usalo da WebAPIEmailTelegramApp presto
Se inserisce
Valore
255
Bit
8
Ottiene
Con segno
-1
Senza segno
255
Binario
11111111
Min
-128

Quando Lei converte un intero senza segno in un tipo con segno alla stessa larghezza in bit, i linguaggi moderni non modificano i bit: li reinterpretano in complemento a due. Studenti, sviluppatori embedded e candidati a colloquio hanno bisogno di un modo rapido e deterministico per vedere quel mapping per qualsiasi larghezza da due a cinquantatré bit senza contare i residui a mano. L'overflow fuori da zero fino a due elevato alla larghezza meno uno viene rifiutato invece di un wrap silenzioso.

Come funziona la reinterpretazione da senza segno a con segno in complemento a due

Fissi una larghezza in bit w di almeno due. Come intero senza segno è un intero u da zero fino a due elevato a w meno uno. Quella sola regola spiega perché duecentocinquantacinque su otto bit diventa meno uno, perché centoventotto diventa meno centoventotto (il valore più negativo a otto bit) e perché centoventisette resta positivo centoventisette.

L'algoritmo non inverte mai i bit a mano: confronta u con due elevato a w meno uno (la soglia di mezza gamma), poi restituisce u invariato oppure sottrae il modulo completo due elevato a w. I valori devono restare nell'intervallo degli interi sicuri di JavaScript affinché ogni cifra resti esatta quando il risultato è serializzato come numero.

Le richieste che non entrano nell'intervallo senza segno della larghezza scelta — ad esempio duecentocinquantasei su otto bit — sono rifiutate con un messaggio chiaro che indica il massimo consentito, invece di avvolgere a zero e nascondere un errore di cast che studenti o note di firmware potrebbero fidare per sbaglio.

Compiti e laboratori di organizzazione dei calcolatori

Verifichi in che cosa si trasforma qualsiasi byte o parola senza segno sotto un cast con segno a larghezze 8/16/32 bit, inclusi il punto medio del bit alto e i casi tutti uni, rispetto a un unico oracolo condiviso.

Log di firmware e dump di protocollo

Reinterpreti dump di registri senza segno come delta di sensori con segno o offset a larghezza fissa rivedendo log esadecimali o decimali.

Perché 255 è uguale a −1 su 8 bit?

Con il bit alto attivo, il complemento a due definisce la lettura con segno come 255 − 256 = −1.

Quale intervallo deve rispettare value?

Value deve essere un intero non negativo in [0, 2^bits − 1]. I risultati con segno restano poi in [−2^(bits−1), 2^(bits−1)−1].

Quali larghezze di bit sono supportate?

Larghezze da 2 a 53 inclusi. Le larghezze comuni in aula sono 8, 16 e 32.

Quanto costa il calcolatore da intero senza segno a con segno?

Lo strumento del browser è gratuito e gira in locale.

Che cosa diventa 128 su 8 bit?

Diventa −128, il valore più negativo a 8 bit, perché il bit alto è acceso e al numero si sottrae 256. Invece 127 resta 127, dato che il suo bit alto è spento.

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/dev/unsigned-to-signed

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/dev/unsigned-to-signed \
  -H "Authorization: Bearer $KIT_KEY" \
  -H "Content-Type: application/json" \
  -d '{"value":255,"bits":8}'
{
  "value": 255,
  "bits": 8
}
{
  "task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
  "type": "dev.unsigned_to_signed",
  "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.

Un valore come duecentocinquantacinque memorizzato su otto bit è tutto uni; come uint8 vale duecentocinquantacinque, ma come int8 il bit alto è attivo e lo stesso schema significa meno uno. Questo calcolatore da intero senza segno a con segno accetta un valore non negativo e una larghezza in bit, verifica che il valore stia nell'intervallo senza segno di quella larghezza e restituisce la lettura con segno in complemento a due insieme allo schema di bit esatto e a un indicatore chiaro del bit alto. Le chiamate API riuscite usano il prezzo base pubblicato di $0.002 per elemento.

Come funziona la reinterpretazione da senza segno a con segno in complemento a due

Ogni schema di bit di lunghezza w può essere letto in due modi. Come intero con segno in complemento a due lo stesso schema è u quando il bit più significativo è a zero, e u meno due elevato a w quando quel bit alto è attivo. Zero resta sempre zero; lo schema di tutti uni diventa sempre meno uno a ogni larghezza. L'implementazione usa aritmetica intera esatta senza arrotondamento in virgola mobile, senza semi casuali, senza orologio di parete e senza chiamate di rete, così ingressi identici producono sempre lo stesso JSON.

Contratto di ingresso, forma della risposta e comportamento di errore

Controlli classici: value duecentocinquantacinque con otto bit mappa a signed meno uno e binary tutti uni; value centoventotto con otto bit mappa a signed meno centoventotto; e value quarantadue con sedici bit resta positivo quarantadue con zeri iniziali. Se deve codificare un intero con segno in una stringa di bit o decodificare una stringa di bit già disponibile, usi una pagina dedicata di convertitore di complemento a due invece di sovraccaricare questo contratto di reinterpretazione da senza segno a con segno. Invii con POST un corpo JSON con due campi obbligatori: value, un intero non negativo da reinterpretare, e bits, la larghezza di parola da due a cinquantatré. Value può arrivare come numero JSON o come stringa di cifre con un più iniziale opzionale; sono accettati gli alias u, unsigned, n e number. Bits può arrivare come numero o stringa di cifre; sono accettati gli alias width, bit_width, nbits e w. Campi mancanti, stringhe vuote, NaN, Infinity, valori frazionari, valori negativi, larghezze fuori da due a cinquantatré e valori maggiori di due elevato a bits meno uno falliscono con invalid_input e non sono addebitati. In caso di successo il corpo ripete value e bits, restituisce signed (la lettura in complemento a due), unsigned (lo stesso residuo non negativo), binary (esattamente bits caratteri di zero e uno, bit alto a sinistra), i booleani high_bit_set e is_negative, il min e max con segno legali per la larghezza, unsigned_max e method uguale a twos_complement_reinterpret. Il prezzo delle chiamate API riuscite è la base pubblicata di $0.002 per elemento; i fallimenti di validazione non consumano il saldo prepagato.

Dove i calcolatori da senza segno a con segno creano valore

La documentazione di firmware embedded e di protocolli elenca campi sensore memorizzati come dump senza segno nei log che vanno rilette come offset con segno o delta di temperatura a otto o sedici bit, così i revisori verificano il bit di segno a colpo d'occhio. Note di compilatori e runtime spiegano come C, Java e Rust convertono uint8 o uint16 nel tipo con segno corrispondente reinterpretando i bit; i tutor confrontano gli helper di cast degli studenti con un risultato con segno di riferimento per zero, il punto medio, il massimo senza segno e tutti uni. I corsi di informatica e progettazione digitale introducono il complemento a due quando gli studenti incontrano per la prima volta i registri con segno e la sorpresa che un byte grande senza segno possa significare un piccolo numero negativo sotto un cast con segno; un oracolo affidabile che restituisce il valore con segno, lo schema di bit e un indicatore del bit alto accelera le chiavi di risposta e le demo di laboratorio senza formule fragili di foglio di calcolo. Poiché questa capacità è un motore parse puro, il prezzo API è la base pubblicata di $0.002 per elemento riuscito e la validazione fallita non consuma saldo. Tratti la conversione bidirezionale da intero con segno a binario, i dump solo esadecimali, gli schemi di bit in virgola mobile IEEE e l'estensione di segno tra larghezze diverse come intenzioni di ricerca separate con pagine proprie, invece di allungare questo calcolatore da senza segno a con segno oltre il suo ambito onesto.

Fixture di test per helper di cast

Generi valori con segno di riferimento e schemi di bit per test unitari di helper di cast del linguaggio senza calcolare a mano i residui di complemento a due.

Cosa significa passare da senza segno a con segno in complemento a due?

A larghezza fissa w, lo stesso schema di bit è o il valore senza segno u in [0, 2^w−1], o il valore con segno u se il bit alto è a zero, e u − 2^w se il bit alto è attivo. I bit non cambiano; cambia solo l'interpretazione.

Leggi la documentazione completa del KIT →