BBitWhorl
Spațiu de programare cu AI

Rotirea biților cu lățime fixă

Rotește la stânga un cuvânt fără semn cu lățimea de la 1 la 64 de biți.

● ● ●BitWhorl●
Fluxuri de lucru · Rotirea biților cu lățime fixă ×
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
✳Rotirea biților cu lățime fixă
✓ ModificăriVerifică înainte de aplicare ↗
Ilustrarea spațiului de lucru
01

Verifică înainte de aplicare

Compară comportamentul real cu rezultatul așteptat. Dacă o verificare eșuează, cercetează cauza înainte de alte modificări.

02

Modele

Configurează un endpoint compatibil OpenAI sau Anthropic cu URL-ul de bază și cheia API, dacă este necesară. Testează conexiunea. Serverul local trebuie să ruleze; instrumentele externe pot transmite date separat.

03

Proiect

Testează rotații nule și complete cu numărul de pași redus modulo lățimea, respingând pașii negativi și valorile care nu încap.

Fluxuri de lucru

Rotirea biților cu lățime fixă

Fluxuri de lucru ↗
Fluxuri de lucru
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
Spațiu de programare cu AI

Include ipotezele reprezentării în revizuirea codului

BitWhorl oferă un spațiu Windows pentru proiecte în care poți discuta modificări de cod sursă ce depind de o reprezentare precisă. Deschide codul și descrie valorile așteptate de aplicația înconjurătoare. Cere modelului să explice limitele relevante ale intrărilor înainte să soliciți o refactorizare, astfel încât o expresie aparent mai simplă să nu schimbe tacit operația.

Poți aduce rotate_word.py în acea sesiune ca sarcină concretă. Precizează lățimea cuvântului și comportamentul așteptat pentru un număr de rotații mai mare decât lățimea, apoi revizuiește codul propus împreună cu apelanții săi. Exemplul oferă conversației un contract delimitat; nu înseamnă că spațiul de lucru furnizează o bibliotecă de operații pe biți.

Folosește câteva cazuri de test specificate independent pentru a verifica propunerea în mediul tău. Include rotația zero, rotația pe întreaga lățime și o valoare cu cel mai semnificativ bit acceptat activat. Inspectează și intrările respinse, mai ales dacă alt strat convertește valorile înainte de apelarea funcției. Păstrează convenția de reprezentare a aplicației pe tot parcursul modificării.

Un model IA abliterated poate ajuta când este oferit de un endpoint acceptat compatibil cu OpenAI sau Anthropic. Configurează conexiunea și datele de autentificare necesare în spațiul de lucru. Restricțiile modelului, capacitatea contextului și disponibilitatea instrumentelor depind în continuare de serverul selectat, astfel încât verificarea acceptării aparține proiectului tău, nu etichetei modelului.

Înainte de modificarea codului cu lățime fixă

Poate apelantul transmite un număr negativ de rotații?

Verifică actualul contract înainte să presupui că înseamnă rotație în sens opus. Exemplul respinge numerele negative. Dacă un apelant necesită numere cu semn, cere explicit această schimbare de comportament și specifică rezultatele așteptate de ambele părți ale lui zero.

De ce să includ lățimea când raportez un eșec?

Același întreg și același număr de rotații pot produce rezultate diferite la lățimi de cuvânt diferite. Include toate cele trei intrări și ieșirea așteptată. Fără acel context, modelul poate explica o operație validă care folosește pur și simplu altă reprezentare decât aplicația ta.

O mască este doar un detaliu de implementare?

Poate impune reprezentarea ieșirii, astfel că eliminarea ei poate schimba rezultatele observabile. Întreabă cum menține modificarea propusă ieșirea în lățimea acceptată și testează cazuri cu bitul superior activat. Revizuiește apelanții care serializează sau compară rezultatul după aceeași convenție.

Ce ajută la evaluarea unei expresii mai scurte?

Compară comportamentul cu exemple de limită alese independent și cu politica existentă pentru intrări. Citește explicația semanticii deplasărilor din limbaj, precum și expresia însăși. Codul mai scurt este util doar dacă păstrează reprezentarea cerută și comportamentul de respingere.

Descarcă pentru Windows ↗

BitWhorl · Actualizat 2026-10-25