Итак, я хочу представить число -12.5
. Таким образом, 12.5 равно:
001100.100
Если я не вычисляю дроби, тогда просто, -12
:
110100
Но что такое -12,5? это 110100.100
? Как я могу вычислить эту отрицательную долю?
Итак, я хочу представить число -12.5
. Таким образом, 12.5 равно:
001100.100
Если я не вычисляю дроби, тогда просто, -12
:
110100
Но что такое -12,5? это 110100.100
? Как я могу вычислить эту отрицательную долю?
В системах с десятичными числами каждая позиция номера (или столбец) представляет (читает число справа налево): единицы (что составляет 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
вы можете удвоить число снова и снова до тех пор, пока оно не будет отрицательным целым или не достигнет определенного предела, а затем установите десятичную точку соответственно.
-25 - 11100111, поэтому -12.5 равно 1110011.1
Итак, U хочет представить -12.5 в 2 представлениях представления
12.5: → > 01100.1
2 дополнение (01100.1): → > 10011.1
проверить ans, проверив свойство взвешенного кода в 2 дополнениях (вес MSB -ve). мы получим -16 + 3 +.5 = -12.5