GGraySorrel
Робоче середовище з ШІ для коду

Код Грея фіксованої розрядності

Перетворіть ціле число на код Грея і назад із явно заданою розрядністю від 1 до 16 біт.

● ● ●GraySorrel●
Сценарії · Код Грея фіксованої розрядності ×
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
✳Перетворіть ціле число на код Грея і назад із явно заданою розрядністю від 1 до 16 біт.
✓ ЗміниПеревірте перед застосуванням ↗
Ілюстрація робочого середовища
01

Проєкт

Перевірте нуль і найбільше допустиме число, відхиляючи логічні значення, хибну розрядність і вихід за межі.

02

Перевірте перед застосуванням

Порівняйте фактичну поведінку з очікуваним результатом. Якщо перевірка не проходить, з’ясуйте причину перед наступними змінами.

03

Моделі

Налаштуйте OpenAI-сумісний або Anthropic endpoint із базовою URL-адресою та API-ключем, якщо він потрібен. Перевірте з’єднання. Локальний сервер моделі має працювати; віддалені інструменти можуть окремо передавати дані.

Сценарії

Код Грея фіксованої розрядності

Сценарії ↗
Сценарії
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
Робоче середовище з ШІ для коду

Зберігайте припущення про розрядність видимими на всіх етапах зміни

GraySorrel — робоче середовище з ШІ для програмування у Windows, яке допомагає явно враховувати припущення про подання даних під час розробки. Додайте код перетворення та його споживача до обговорення проєкту, а потім зазначте, які значення й розрядності приймає інтерфейс. Такий контекст допомагає моделі обговорювати конкретну зміну, а не пропонувати загальну процедуру з іншими межами.

Розгляньте завдання перетворення коду Грея з фіксованою розрядністю. Попросіть перевірити пряме й зворотне перетворення разом, включно зі спільною перевіркою вхідних даних. Наведіть кілька відомих значень і граничний випадок розрядності, а потім попросіть лише виправлення, потрібні для задуманого контракту. Приклад дає обговоренню мету, яку можна перевірити тестами.

Перевірте, як пропозиція обробляє значення, що не вкладаються у вибрану розрядність. Мовчазне відсікання й явне відхилення спричиняють різну поведінку програми, навіть якщо звичайні перетворення збігаються. Запустіть тести проєкту, порівняйте прямі та зворотні перетворення в підтримуваному діапазоні й перевірте обробку помилок у коді виклику. Зберігайте точні очікувані кодування поряд із прикладами оборотності.

Підключіть модель через підтримувану кінцеву точку, сумісну з OpenAI, або кінцеву точку Anthropic, додавши облікові дані за потреби. Вибір моделі ШІ без цензури можливий, якщо ваша кінцева точка пропонує таку модель; її фактичні обмеження все одно мають значення. Підтримка інструментів і місткість контексту залежать від моделі та сервера, а відповідальність за контракт і остаточне виправлення залишається за вами.

Перевірка зміни бітового подання

Чи достатньо прямого та зворотного перетворення для перевірки кодування?

Ні. Дві функції можуть бути взаємно оберненими й водночас реалізовувати неправильне відображення. Додайте незалежно відомі кодування разом із перевірками оборотності та, перш ніж приймати запропоновану зміну, перевірте, як код-споживач тлумачить результат.

Чи слід маскувати значення, ширші за запитане слово?

Уточніть, чи контракт відхиляє їх, чи навмисно відсікає зайві біти. Попросіть модель простежити наявну валідацію та очікування коду виклику. Маскування змінює поведінку, якщо раніше виклики отримували помилку, навіть коли воно спрощує перетворення.

Яку частину коду-споживача слід додати?

Почніть із коду, що зберігає, порівнює або передає перетворене значення, та відповідних тестів. Це виявляє припущення про розрядність і подання. Розширюйте контекст лише тоді, коли перевірка виявить іншу залежність, потрібну для розуміння запропонованого редагування.

Чи може вибрана модель зробити непідтверджені твердження про розрядність надійними?

Ні. Перевіряйте підтримуваний діапазон у коді й тестах. Також перевіряйте виконання інструментів: окремо запущений локальний сервер моделі не робить кожен підключений інструмент локальним і не встановлює, де насправді виконуються ці тести.

Завантажити для Windows ↗

GraySorrel · Оновлено 2026-10-25