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

Інтернет-суми з непарним байтом

Обчисліть 16-бітну інтернет-суму для 0–65535 байтів, доповнюючи останній непарний байт нулем.

● ● ●CarryLoam●
Сценарії · Інтернет-суми з непарним байтом ×
def internet_checksum(data):
    if type(data) is not bytes or len(data) > 65535:
        raise ValueError("checksum.bytes")
    total = 0
    for i in range(0, len(data), 2):
        total += (data[i] << 8) | (data[i+1] if i+1 < len(data) else 0)
    while total >> 16:
        total = (total & 65535) + (total >> 16)
    return (~total) & 65535
✳Інтернет-суми з непарним байтом
✓ ЗміниПеревірте перед застосуванням ↗
Ілюстрація робочого середовища
01

Проєкт

Перевірте циклічне перенесення й порожній ввід, відхиляйте інші типи та відділяйте некриптографічну перевірку від автентифікації.

02

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

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

03

Моделі

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

Сценарії

Інтернет-суми з непарним байтом

Сценарії ↗
Сценарії
def internet_checksum(data):
    if type(data) is not bytes or len(data) > 65535:
        raise ValueError("checksum.bytes")
    total = 0
    for i in range(0, len(data), 2):
        total += (data[i] << 8) | (data[i+1] if i+1 < len(data) else 0)
    while total >> 16:
        total = (total & 65535) + (total >> 16)
    return (~total) & 65535
Робоче середовище з ШІ для коду

Пов’язуйте байтові зміни з незалежно очікуваним результатом

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

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

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

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

Перевірка змін байтової реалізації

Навіщо зберігати очікувані контрольні суми незалежними від виправлення?

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

Що має перевіряти приклад непарної довжини?

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

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

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

Як діяти із запропонованою командою мережевої перевірки?

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

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

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