GGraySorrel
Không gian lập trình với AI

Chuyển mã Gray có độ rộng cố định

Chuyển số nguyên sang mã Gray và ngược lại với độ rộng chỉ rõ từ một đến 16 bit.

● ● ●GraySorrel●
Quy trình · Chuyển mã Gray có độ rộng cố định ×
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
✳Chuyển số nguyên sang mã Gray và ngược lại với độ rộng chỉ rõ từ một đến 16 bit.
✓ Thay đổiKiểm tra trước khi áp dụng ↗
Minh họa không gian làm việc
01

Dự án

Kiểm tra số không và giá trị lớn nhất vừa độ rộng, từ chối Boolean, độ rộng sai và giá trị vượt giới hạn.

02

Kiểm tra trước khi áp dụng

So sánh hành vi thực tế với kết quả mong đợi. Nếu kiểm tra thất bại, tìm nguyên nhân trước khi sửa tiếp.

03

Mô hình

Cấu hình endpoint tương thích OpenAI hoặc Anthropic bằng URL cơ sở và khóa API nếu cần. Kiểm tra kết nối. Máy chủ mô hình cục bộ phải đang chạy; công cụ từ xa có thể truyền dữ liệu riêng.

Quy trình

Chuyển mã Gray có độ rộng cố định

Quy trình ↗
Quy trình
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
Không gian lập trình với AI

Giữ rõ các giả định về độ rộng bit trong suốt quá trình thay đổi

GraySorrel là không gian lập trình AI trên Windows giúp làm rõ các giả định về biểu diễn trong quá trình phát triển. Đưa mã chuyển đổi và mã sử dụng kết quả vào cuộc trao đổi về dự án, rồi nêu rõ những giá trị và độ rộng mà giao diện chấp nhận. Bối cảnh đó giúp mô hình thảo luận một thay đổi cụ thể thay vì đề xuất một thủ tục chung có giới hạn khác.

Hãy lấy việc chuyển đổi mã Gray có độ rộng cố định làm nhiệm vụ. Yêu cầu kiểm tra cả chuyển đổi thuận lẫn nghịch, bao gồm bước kiểm tra đầu vào dùng chung. Cung cấp vài giá trị đã biết và một trường hợp ở biên độ rộng, rồi chỉ yêu cầu những sửa đổi cần thiết cho quy ước bạn muốn. Ví dụ này tạo mục tiêu có thể kiểm thử cho cuộc trao đổi.

Rà soát cách đề xuất xử lý giá trị vượt độ rộng đã chọn. Âm thầm cắt bớt và từ chối rõ ràng dẫn đến hành vi phần mềm khác nhau, ngay cả khi các chuyển đổi thông thường cho cùng kết quả. Chạy kiểm thử dự án, so sánh chuyển đổi khứ hồi trong phạm vi hỗ trợ và kiểm tra cách mã gọi xử lý lỗi. Giữ cả các mã hóa kỳ vọng chính xác lẫn ví dụ có thể chuyển đổi ngược.

Kết nối mô hình qua điểm cuối tương thích OpenAI hoặc Anthropic được hỗ trợ, thêm thông tin xác thực nếu cần. Lựa chọn mô hình AI không kiểm duyệt áp dụng khi điểm cuối của bạn cung cấp mô hình như vậy; các hạn chế thực tế của nó vẫn quan trọng. Khả năng hỗ trợ công cụ và dung lượng ngữ cảnh phụ thuộc vào mô hình và máy chủ, còn bạn chịu trách nhiệm về quy ước và bản vá cuối cùng.

Rà soát thay đổi biểu diễn bit

Chuyển đổi khứ hồi có đủ để xác minh một cách mã hóa không?

Không. Hai hàm có thể đảo ngược nhau nhưng vẫn thực hiện sai ánh xạ. Hãy đưa vào các mã hóa đã biết độc lập cùng kiểm tra khứ hồi, đồng thời xem mã sử dụng kết quả diễn giải nó ra sao trước khi chấp nhận thay đổi.

Có nên dùng mặt nạ bit cho giá trị rộng hơn từ được yêu cầu không?

Nêu rõ quy ước của bạn từ chối hay chủ ý cắt bớt chúng. Yêu cầu mô hình lần theo việc kiểm tra hiện có và kỳ vọng của mã gọi. Dùng mặt nạ làm thay đổi hành vi nếu trước đây mã gọi nhận lỗi, dù cách đó đơn giản hóa chuyển đổi.

Tôi nên đưa vào bao nhiêu mã sử dụng kết quả?

Bắt đầu với mã lưu trữ, so sánh hoặc truyền giá trị đã chuyển đổi cùng các kiểm thử liên quan. Điều đó làm rõ giả định về độ rộng và biểu diễn. Chỉ mở rộng ngữ cảnh khi việc kiểm tra phát hiện thêm phần phụ thuộc cần thiết để hiểu sửa đổi đề xuất.

Mô hình đã chọn có thể khiến khẳng định chưa được chứng minh về độ rộng trở nên đáng tin không?

Không. Xác minh phạm vi hỗ trợ bằng mã và kiểm thử. Cũng kiểm tra việc thực thi công cụ: dùng máy chủ mô hình cục bộ chạy riêng không khiến mọi công cụ kết nối đều chạy cục bộ hay xác định nơi các kiểm thử đó thực sự chạy.

Tải cho Windows ↗

GraySorrel · Cập nhật 2026-10-25