GGraySorrel
Ruang kerja kode dengan AI

Konversi Gray berlebar tetap

Ubah bilangan bulat menjadi kode Gray dan kembali dengan lebar eksplisit satu hingga 16 bit.

● ● ●GraySorrel●
Alur kerja · Konversi Gray berlebar tetap ×
def checked_word(value, width):
    if type(width) is not int or not 1 <= width <= 16:
        raise ValueError("word.width")
    if type(value) is not int or not 0 <= value < (1 << width):
        raise ValueError("word.value")
    return value

def to_gray(value, width):
    value = checked_word(value, width)
    return value ^ (value >> 1)

def from_gray(value, width):
    value = checked_word(value, width)
    result = 0
    while value:
        result ^= value
        value >>= 1
    return result
✳Ubah bilangan bulat menjadi kode Gray dan kembali dengan lebar eksplisit satu hingga 16 bit.
✓ PerubahanTinjau sebelum menerapkan ↗
Ilustrasi ruang kerja
01

Proyek

Uji nol dan nilai terbesar yang muat, lalu tolak boolean, lebar tidak sah, dan nilai yang melampaui lebar.

02

Tinjau sebelum menerapkan

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

03

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.

Alur kerja

Konversi Gray berlebar tetap

Alur kerja ↗
Alur kerja
def checked_word(value, width):
    if type(width) is not int or not 1 <= width <= 16:
        raise ValueError("word.width")
    if type(value) is not int or not 0 <= value < (1 << width):
        raise ValueError("word.value")
    return value

def to_gray(value, width):
    value = checked_word(value, width)
    return value ^ (value >> 1)

def from_gray(value, width):
    value = checked_word(value, width)
    result = 0
    while value:
        result ^= value
        value >>= 1
    return result
Ruang kerja kode dengan AI

Pastikan asumsi lebar bit tetap terlihat sepanjang perubahan

GraySorrel adalah ruang kerja pemrograman AI untuk Windows yang membantu memperjelas asumsi representasi selama pengembangan. Sertakan kode konversi dan kode yang menggunakannya dalam percakapan proyek, lalu jelaskan nilai dan lebar yang diterima antarmuka. Konteks itu membantu model membahas perubahan konkret alih-alih menyarankan rutin umum dengan batas berbeda.

Ambil konversi kode Gray dengan lebar tetap sebagai tugas. Minta pemeriksaan konversi maju dan balik secara bersamaan, termasuk pemeriksaan masukan yang digunakan keduanya. Berikan beberapa nilai yang sudah diketahui serta kasus batas lebar, lalu minta hanya perbaikan yang diperlukan untuk kontrak yang Anda inginkan. Contoh ini memberi percakapan sasaran yang dapat diuji.

Tinjau cara usulan menangani nilai di luar lebar yang dipilih. Pemotongan diam-diam dan penolakan eksplisit menghasilkan perilaku perangkat lunak berbeda, meskipun hasil konversi biasa sama. Jalankan pengujian proyek, bandingkan konversi bolak-balik dalam rentang yang didukung, dan periksa penanganan kesalahan pada kode pemanggil. Sertakan pengodean tepat yang diharapkan maupun contoh yang dapat dikonversi kembali.

Hubungkan model melalui endpoint kompatibel OpenAI atau endpoint Anthropic yang didukung, dengan menambahkan kredensial jika diperlukan. Pilihan model AI tanpa sensor berlaku jika endpoint Anda menawarkan model tersebut; batasan aktualnya tetap perlu diperhatikan. Dukungan alat dan kapasitas konteks bergantung pada model dan server, sedangkan tanggung jawab atas kontrak dan perubahan akhir tetap pada Anda.

Meninjau perubahan representasi bit

Apakah konversi bolak-balik cukup untuk memverifikasi pengodean?

Tidak. Dua fungsi bisa saling membalikkan tetapi menerapkan pemetaan yang salah. Sertakan pengodean yang diketahui secara independen selain pemeriksaan bolak-balik, dan periksa cara kode pengguna menafsirkan hasil sebelum menerima perubahan yang diusulkan.

Apakah nilai yang lebih lebar daripada word yang diminta harus dimask?

Tentukan apakah kontrak Anda menolaknya atau sengaja memotongnya. Minta model menelusuri validasi yang ada dan ekspektasi pemanggil. Masking merupakan perubahan perilaku jika sebelumnya pemanggil menerima kesalahan, sekalipun menyederhanakan konversi.

Seberapa banyak kode pengguna hasil konversi perlu saya sertakan?

Mulailah dengan kode yang menyimpan, membandingkan, atau mengirim nilai hasil konversi, beserta pengujian terkait. Ini mengungkap asumsi mengenai lebar dan representasi. Perluas konteks hanya jika pemeriksaan menemukan dependensi lain yang diperlukan untuk memahami perubahan yang diusulkan.

Bisakah model pilihan membuat klaim lebar yang tidak didukung menjadi andal?

Tidak. Verifikasi rentang yang didukung dalam kode dan pengujian. Periksa juga eksekusi alat: penggunaan server model lokal yang berjalan terpisah tidak membuat semua alat terhubung menjadi lokal atau memastikan tempat pengujian tersebut sebenarnya dijalankan.

Unduh untuk Windows ↗

GraySorrel · Diperbarui 2026-10-25