Как сказано в опубликованной вами ссылке, самый правый бит представляет (-2) ^ 0 = +1, следующий бит представляет (-2) ^ 1 = -2, следующий бит (-2) ^ 2 = +4 и и так далее с переменным знаком.
Если биты чередуются по знаку, а первый бит является положительным числом, то каждый четный бит дает отрицательное число. Если этот четный самый левый бит установлен в 0, число будет положительным, однако абсолютное значение будет вдвое меньше, чем предыдущее число.
Например:
0101 = 5, потому что (-2)^0 + (-2)^2 = +1+4
1010 = -10, потому что (-2)^1 + (-2)^3 = -2-8
Однако, если бы мы были ограничены 3 битами, у нас было бы
010 = -2, потому что (-2)^1 = -2
101 = 5, потому что (-2)^0 + (-2)^2 = 1 + 4 = 5
По существу, в системе счисления по основанию 2 наибольшее отрицательное число, которое вы можете получить, — это такое, в котором каждый четный бит установлен в 1, а каждый нечетный бит установлен в 0. А наибольшее положительное число — это такое, где верно обратное.
Если общее количество разрешенных битов четное, то установка самого левого четного бита в 1 приведет к получению отрицательного числа, по крайней мере в два раза превышающего наибольшее положительное число (поскольку любое положительное число оставит самый левый бит равным 0). И наоборот с нечетным числом битов.
person
Ali Elgazar
schedule
03.10.2018