Итак, я хочу представить число -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
Значение битов, хранящихся в системе с фиксированной точкой (дробной), не изменяется. Значения столбца следуют тому же шаблону, что и раньше, от основания (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 is 11100111, so -12.5 is 1110011.1
Итак, вы хотите представить -12,5 в дополнительном представлении 2
12.5:->> 01100.1
2-е дополнение (01100.1): -> 10011.1
проверьте ответы, проверив свойство взвешенного кода представления дополнения 2 (вес старшего разряда равен -ve). мы получим -16+3+.5=-12,5