BBitWhorl
Ruang kerja kode dengan AI

Rotasi bit dengan lebar tetap

Putar kata tanpa tanda ke kiri dalam lebar 1 sampai 64 bit.

● ● ●BitWhorl●
Alur kerja · Rotasi bit dengan lebar tetap ×
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
✳Rotasi bit dengan lebar tetap
✓ PerubahanTinjau sebelum menerapkan ↗
Ilustrasi ruang kerja
01

Tinjau sebelum menerapkan

Bandingkan perilaku sebenarnya dengan hasil yang diharapkan. Jika pemeriksaan gagal, cari penyebabnya sebelum membuat perubahan lain.

02

Model

Atur endpoint kompatibel OpenAI atau Anthropic dengan URL dasar dan kunci API jika diperlukan. Uji koneksi. Server model lokal harus berjalan; alat jarak jauh dapat mengirim data secara terpisah.

03

Proyek

Uji putaran nol dan penuh dengan jumlah putaran modulo lebar, lalu tolak jumlah negatif dan nilai yang tidak muat.

Alur kerja

Rotasi bit dengan lebar tetap

Alur kerja ↗
Alur kerja
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
Ruang kerja kode dengan AI

Jadikan asumsi representasi bagian dari peninjauan kode

BitWhorl menyediakan ruang kerja proyek Windows untuk membahas perubahan kode sumber yang bergantung pada representasi presisi. Buka kode dan jelaskan nilai yang diharapkan aplikasi di sekitarnya. Minta model menjelaskan batas masukan yang relevan sebelum meminta refaktorisasi, agar ekspresi yang tampaknya lebih sederhana tidak diam-diam mengubah operasi.

Anda dapat membawa rotate_word.py ke sesi itu sebagai tugas konkret. Nyatakan lebar word dan perilaku yang diharapkan untuk jumlah rotasi yang lebih besar dari lebar itu, lalu tinjau kode usulan bersama pemanggilnya. Contoh ini memberikan kontrak terbatas pada percakapan; bukan klaim bahwa ruang kerja menyediakan pustaka operasi bit.

Gunakan beberapa data uji yang ditentukan secara independen untuk memeriksa usulan di lingkungan Anda. Sertakan rotasi nol, rotasi selebar word, dan nilai dengan bit tertinggi yang diterima bernilai satu. Periksa juga masukan yang ditolak, terutama jika lapisan lain mengonversi nilai sebelum memanggil fungsi bantu. Pertahankan konvensi representasi aplikasi sepanjang perubahan.

Model AI abliterated dapat membantu bila ditawarkan oleh endpoint kompatibel OpenAI atau Anthropic yang didukung. Konfigurasikan koneksi dan kredensial yang diperlukan dalam ruang kerja. Batasan model, kapasitas konteks, dan ketersediaan alat tetap bergantung pada server yang dipilih, sehingga pemeriksaan penerimaan menjadi tanggung jawab proyek Anda, bukan label model.

Sebelum mengubah kode lebar tetap

Dapatkah pemanggil memberikan jumlah rotasi negatif?

Periksa kontrak saat ini sebelum menganggapnya berarti rotasi ke arah sebaliknya. Contoh ini menolak jumlah negatif. Jika pemanggil memerlukan jumlah bertanda, mintalah sebagai perubahan perilaku yang eksplisit dan tentukan hasil yang diharapkan di kedua sisi nol.

Mengapa lebar perlu disertakan saat melaporkan kegagalan?

Integer dan jumlah rotasi yang sama dapat menghasilkan keluaran berbeda pada lebar word berbeda. Sertakan ketiga masukan beserta keluaran yang diharapkan. Tanpa konteks itu, model mungkin menjelaskan operasi valid yang hanya memakai representasi berbeda dari aplikasi Anda.

Apakah mask hanya detail implementasi?

Mask dapat menegakkan representasi keluaran, sehingga menghapusnya dapat mengubah hasil yang teramati. Tanyakan bagaimana perubahan usulan menjaga keluaran dalam lebar yang diterima dan uji data dengan bit tinggi. Tinjau pemanggil yang melakukan serialisasi atau membandingkan hasil dengan konvensi sama.

Apa yang membantu mengevaluasi ekspresi lebih pendek?

Bandingkan perilakunya dengan contoh batas yang dipilih secara independen dan kebijakan masukan yang ada. Baca penjelasan semantik pergeseran dalam bahasa tersebut serta ekspresinya. Kode sumber lebih pendek hanya berguna jika kode revisi mempertahankan representasi dan perilaku penolakan yang diwajibkan.

Unduh untuk Windows ↗

BitWhorl · Diperbarui 2026-10-25