Ответ 1
В системах с десятичными числами каждая позиция номера (или столбец) представляет (читает число справа налево): единицы (что составляет 10 ^ 0), десятки (т.е. 10 ^ 1), сотни (т.е. 10 ^ 2), и т.д.
С беззнаковыми двоичными числами база равна 2, поэтому каждая позиция становится (опять же, считывая справа налево): 1 (т.е. 2 ^ 0), 2 (т.е. 2 ^ 1), 4 (т.е. 2 ^ 2), и т.д.
Например
2^2 (4), 2^1 (2), 2^0 (1).
В подписанном двоичном дополнении самый старший бит (MSB) становится отрицательным. Поэтому он представляет знак числа: "1" для отрицательного числа и "0" для положительного числа.
Для трехбитового номера строки будут содержать эти значения:
-4, 2, 1
0 0 1 => 1
1 0 0 => -4
1 0 1 => -4 + 1 = -3
Значение битов, хранящихся в фиксированной (дробной) системе, не изменяется. Значения столбцов следуют тем же шаблонам, что и раньше, base (2) до мощности, но с отрицательной мощностью:
2^2 (4), 2^1 (2), 2^0 (1) . 2^-1 (0.5), 2^-2 (0.25), 2^-3 (0.125)
-1 всегда будет 111.000
-0.5 добавить 0.5 к нему: 111.100
В вашем случае 110100.10
равно -32 + 16 + 4 + 0,5 = -11.5. То, что вы сделали, это создать -12, затем добавить 0.5, а не вычесть 0.5.
То, что вы на самом деле хотите, это -32 + 16 + 2 + 1 + 0.5 = -12.5 = 110011.1