Кажуть, що в доповненнях 2 0 має лише одне значення, тоді як у доповненні 1 і +0, і -0 мають окремі значення. Хто вони?
000...0
і 111...1
. Але ці два уявлення все ще складають лише одне значення.
Кажуть, що в доповненнях 2 0 має лише одне значення, тоді як у доповненні 1 і +0, і -0 мають окремі значення. Хто вони?
000...0
і 111...1
. Але ці два уявлення все ще складають лише одне значення.
Відповіді:
У додатку 1 ви просто перевернете всі біти.
Розглянемо ці 2 приклади (припускаючи 8 біт):
- 4 = 11111011 , тому
- 0 = 11111111 , так .
Отже, у вас є 2 способи представити число 0
У додатку 2 ви додаєте 1 до 1-го представлення додатка від'ємного числа
Отже, у вас є лише один спосіб представити 0 у цьому випадку
Як видно з прикладів, різниця полягає в тому, що:
У доповненнях ви заперечуєте число, гортаючи всі біти. Тому, заперечуючи нуль, дають , що являє собою , що те саме, що і нуль.1 … 1 - 0
Якщо говорити про два різних значення 0 у доповненні, то це вводить в оману. Доповнення одного (і два доповнення) - це двійкові представлення чисел. Вони описують спосіб подання чисел у двійковій формі та як робити арифметичні операції на них. Число, яке представлено послідовністю бітів, є значенням.
Коли у вас є якесь значення в доповненні, і ви хочете знайти уявлення значення зі знаком, перевернутим - додатковою оберненою стороною - ви інвертуєте кожен шматочок. Це включає нуль, тому є представлення для і подання для . Але : перевернення знаку на не дає вам іншого значення, воно дає вам те саме значення.- 0 0 = - 0 0
Це дає вам два подання на у доповненні: бітова послідовність та бітова послідовність .0 … 0 1 … 1