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

Декодування значень binary16

Декодуйте одне беззнакове 16-бітне слово binary16 у числове значення.

● ● ●HalfJunia●
Сценарії · Декодування значень binary16 ×
from math import copysign, ldexp

def binary16_value(word):
    if type(word) is not int or not 0 <= word <= 65535:
        raise ValueError("binary16.word")
    sign = -1.0 if word & 0x8000 else 1.0
    exponent, fraction = (word >> 10) & 31, word & 1023
    if exponent == 31:
        return copysign(float("nan") if fraction else float("inf"), sign)
    value = ldexp(fraction, -24) if exponent == 0 else ldexp(1024+fraction, exponent-25)
    return copysign(value, sign)
✳Декодуйте одне беззнакове 16-бітне слово binary16 у числове значення.
✓ ЗміниПеревірте перед застосуванням ↗
Ілюстрація робочого середовища
Перевірте перед застосуваннямПорівняйте фактичну поведінку з очікуваним результатом. Якщо перевірка не проходить, з’ясуйте причину перед наступними змінами.
МоделіНалаштуйте OpenAI-сумісний або Anthropic endpoint із базовою URL-адресою та API-ключем, якщо він потрібен. Перевірте з’єднання. Локальний сервер моделі має працювати; віддалені інструменти можуть окремо передавати дані.
ПроєктПеревірте знакові нулі, субнормальні числа, нескінченності й NaN, відхиляючи булеві значення та вихід за межі без збереження навантаження NaN.
Сценарії

Декодування значень binary16

Сценарії ↗
Сценарії
from math import copysign, ldexp

def binary16_value(word):
    if type(word) is not int or not 0 <= word <= 65535:
        raise ValueError("binary16.word")
    sign = -1.0 if word & 0x8000 else 1.0
    exponent, fraction = (word >> 10) & 31, word & 1023
    if exponent == 31:
        return copysign(float("nan") if fraction else float("inf"), sign)
    value = ldexp(fraction, -24) if exponent == 0 else ldexp(1024+fraction, exponent-25)
    return copysign(value, sign)
Робоче середовище з ШІ для коду

Перевіряйте компактні числові формати поза звичайними значеннями

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

Наприклад, завдання декодування binary16 може потребувати явної обробки знакового нуля, субнормальних значень, нескінченностей і NaN. Укажіть, що вхід — беззнакове 16-бітове слово, і чи збереження корисного навантаження NaN виходить за межі вимог. Тоді завдання матиме обмежений контракт, який можна зіставити із запропонованою реалізацією та її кодом виклику.

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

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

Підготовка до перевірки числового формату

Які докази надати для неочікуваного декодованого значення?

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

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

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

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

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

Навіщо додавати логічні значення до тестів відхилення?

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

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

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