BBitWhorl
Ambiente di sviluppo con IA

Rotazione di bit a larghezza fissa

Ruota a sinistra una parola senza segno con larghezza da 1 a 64 bit.

● ● ●BitWhorl●
Flussi di lavoro · Rotazione di bit a larghezza fissa ×
def rotate_left(value, count, width):
    if any(type(x) is not int for x in (value, count, width)):
        raise ValueError("rotate.type")
    if not 1 <= width <= 64 or not 0 <= value < (1 << width) or count < 0:
        raise ValueError("rotate.range")
    count %= width
    mask = (1 << width) - 1
    return ((value << count) | (value >> (width - count))) & mask
✳Rotazione di bit a larghezza fissa
✓ ModificheControlla prima di applicare ↗
Illustrazione dell’ambiente
01

Controlla prima di applicare

Confronta il comportamento effettivo con il risultato atteso. Se una verifica fallisce, indaga la causa prima di altre modifiche.

02

Modelli

Configura un endpoint compatibile con OpenAI o Anthropic usando URL di base e chiave API, se necessaria. Prova la connessione. Il server locale deve essere in esecuzione; gli strumenti remoti possono trasmettere dati separatamente.

03

Progetto

Prova rotazioni nulle e complete riducendo il conteggio modulo la larghezza, rifiutando conteggi negativi e valori troppo grandi.

Flussi di lavoro

Rotazione di bit a larghezza fissa

Flussi di lavoro ↗
Flussi di lavoro
def rotate_left(value, count, width):
    if any(type(x) is not int for x in (value, count, width)):
        raise ValueError("rotate.type")
    if not 1 <= width <= 64 or not 0 <= value < (1 << width) or count < 0:
        raise ValueError("rotate.range")
    count %= width
    mask = (1 << width) - 1
    return ((value << count) | (value >> (width - count))) & mask
Ambiente di sviluppo con IA

Includi le ipotesi sulla rappresentazione nella revisione del codice

BitWhorl offre un ambiente di progetto per Windows in cui discutere modifiche al codice che dipendono da una rappresentazione precisa. Apri il codice e descrivi i valori attesi dall’applicazione circostante. Chiedi al modello di spiegare i limiti pertinenti degli input prima di richiedere una ristrutturazione, affinché un’espressione apparentemente più semplice non cambi silenziosamente l’operazione.

Puoi portare rotate_word.py nella sessione come attività concreta. Indica la larghezza della parola e il comportamento atteso per un numero di rotazioni superiore a tale larghezza, poi esamina il codice proposto insieme ai suoi chiamanti. L’esempio dà alla conversazione un contratto delimitato; non significa che l’ambiente fornisca una libreria di operazioni sui bit.

Usa alcuni casi di prova specificati indipendentemente per verificare la proposta nel tuo ambiente. Includi rotazione nulla, rotazione di una larghezza intera e un valore con il bit più alto accettato impostato. Esamina anche gli input rifiutati, soprattutto se un altro livello converte i valori prima di chiamare la funzione. Preserva la convenzione di rappresentazione dell’applicazione durante tutta la modifica.

Un modello IA abliterato può assisterti quando è offerto da un endpoint supportato compatibile con OpenAI o di Anthropic. Configura nell’ambiente quella connessione e le eventuali credenziali richieste. Restrizioni del modello, capacità di contesto e disponibilità degli strumenti dipendono comunque dal server scelto, quindi la verifica di accettazione spetta al progetto, non all’etichetta del modello.

Prima di modificare codice a larghezza fissa

Il chiamante può passare un numero negativo di rotazioni?

Controlla il contratto attuale prima di presumere che significhi ruotare nella direzione opposta. L’esempio rifiuta conteggi negativi. Se un chiamante necessita di conteggi con segno, richiedi esplicitamente questa modifica del comportamento e specifica i risultati attesi da entrambi i lati dello zero.

Perché includere la larghezza quando segnalo un errore?

Lo stesso intero e conteggio possono produrre risultati diversi con larghezze diverse. Includi tutti e tre gli input e l’output atteso. Senza questo contesto, il modello potrebbe spiegare un’operazione valida che usa semplicemente una rappresentazione diversa da quella dell’applicazione.

Una maschera è soltanto un dettaglio implementativo?

Può imporre la rappresentazione dell’output, quindi rimuoverla può cambiare risultati osservabili. Chiedi come la modifica proposta mantiene l’output entro la larghezza accettata e prova casi con bit alti. Esamina i chiamanti che serializzano o confrontano il risultato secondo la stessa convenzione.

Cosa aiuta a valutare un’espressione più breve?

Confrontane il comportamento con esempi limite scelti indipendentemente e con la politica attuale sugli input. Leggi sia la spiegazione della semantica degli scorrimenti del linguaggio sia l’espressione. Un codice più breve è utile solo se preserva la rappresentazione e il comportamento di rifiuto richiesti.

Scarica per Windows ↗

BitWhorl · Aggiornato 2026-10-25