Калькулятор оберненого коду та коду зі знаком і модулем
Подивіться, як знакове ціле число кодується у вигляді коду «знак-модуль», оберненого коду та доповняльного коду при 8, 16 або 32 бітах.
Bit width
Як працює цей калькулятор?
Введіть знакове ціле число та ширину біт, щоб побачити його коди «знак-модуль», обернений і доповняльний поруч. Для додатніх чисел вони ідентичні; для від'ємних — різняться. Код «знак-модуль» і обернений код мають два нулі (+0 і -0), тоді як доповняльний код має один унікальний нуль, що робить його стандартом у сучасних комп'ютерах.
Формула
How this is calculated
Введіть знакове ціле число v і оберіть ширину біт w (8, 16 або 32). Модуль |v| записується в двійковій формі, а потім з нього будуються кожне з трьох класичних знакових кодувань. Код «знак-модуль» використовує найзначущий біт як чистий знаковий прапор (0 = додатнє, 1 = від'ємне) і зберігає |v| в решті w-1 бітів, тому його представлений модуль від 0 до 2^(w-1) - 1.
Обернений код зберігає додатні числа у вигляді їх простого беззнакового двійкового коду, а від'ємне число представляє інвертуванням кожного біта |v| у w бітах, що дорівнює (2^w - 1) - |v|. Доповняльний код зберігає додатні числа так само, але від'ємне представляє як 2^w - |v|, рівно на одиницю більше, ніж шаблон оберненого коду. Зчитування шаблону доповняльного коду як беззнакового числа тому дає 2^w - |v| для від'ємних.
Ключовий крайній випадок — нуль: код «знак-модуль» і обернений код обидва допускають два різні бітові шаблони для нуля (+0 = всі нулі, -0 = знаковий біт / всі одиниці), тоді як доповняльний код має єдиний унікальний нуль, що є причиною його переважання в сучасному обладнанні. Цей інструмент обмежує |v| значенням 2^(w-1) - 1, щоб значення вмістилося у всі три кодування; значення поза цим діапазоном (включаючи найбільш від'ємне значення доповняльного коду -2^(w-1)) повідомляються як поза діапазоном.
Поширені запитання
Для невід'ємних значень код «знак-модуль», обернений код і доповняльний код зберігають звичайний беззнаковий двійковий код числа з ведучим знаковим бітом 0, тому шаблони збігаються. Вони відрізняються лише для від'ємних значень.
Обидві схеми можуть представляти +0 (всі нулі) та -0 (знаковий біт встановлений, або всі одиниці в оберненому коді). Наявність двох кодувань для нуля ускладнює порівняння та арифметику, що є однією з причин, чому доповняльний код з єдиним нулем є переважним.
Доповняльний код може зберігати -2^(w-1), але код «знак-модуль» і обернений код не можуть, оскільки їх поле модуля вміщує лише до 2^(w-1) - 1. Щоб усі три кодування були порівнянними, цей калькулятор обмежує |v| значенням 2^(w-1) - 1.
Також відомий як
TG we-Calculate Editorial Team. (2026). Калькулятор оберненого коду та коду зі знаком і модулем [Online calculator]. TG we-Calculate. https://we-calculate.com/uk/calculator/ones-complement-sign-magnitude-calculator
TG we-Calculate Editorial Team. "Калькулятор оберненого коду та коду зі знаком і модулем." TG we-Calculate. 2026. https://we-calculate.com/uk/calculator/ones-complement-sign-magnitude-calculator.
TG we-Calculate Editorial Team, "Калькулятор оберненого коду та коду зі знаком і модулем," TG we-Calculate, 2026. [Online]. Available: https://we-calculate.com/uk/calculator/ones-complement-sign-magnitude-calculator
@misc{wecalculate_ones_complement_sign_magnitude_calculator, title = {Калькулятор оберненого коду та коду зі знаком і модулем}, author = {{TG we-Calculate Editorial Team}}, howpublished = {\url{https://we-calculate.com/uk/calculator/ones-complement-sign-magnitude-calculator}}, year = {2026}, note = {TG we-Calculate} }
Чи допоміг вам цей калькулятор?
