о чем это вы ? о_О
2 - 0000 0000 0000 0010
-2 - 1111 1111 1111 1110
чтоб сконвертировать в знаковое нужно сделать -32768±1
чтоб из знакового обратно нужно +32768±1
чтобы сменить знак на противоположный нужно инверсировать биты числа (заменить 0 на 1 и 1 на 0) и +1 (если мы кудато спешим можно и не плюсовать)
простая инверсия бита знака даст страшные искажения
да и инверсия бита знака не даст никакого перевода даже если мы будем хранить числа в формате в котором будет бит знака и смещение от 0 в обыкновенном виде...
и для чисел с плавающей запятой это тоже не прокатит...





Ответить с цитированием