Как отличить? Например, скажем, у вас есть 0110 0101 1001 0011
. BCD без знака — 6593, но что такое значение со знаком?
Разница между подписанными и неподписанными 16-битными BCD?
Ответы (2)
Обычно вы определяете разницу, явно сохраняя знак.
Дополнение Radix (en.wikipedia.org/wiki/Method_of_complements)
person
dan04
schedule
11.11.2010
ну, это странно, потому что в моем классе сборки
0110 000 000 000
предположительно 6000 без знака (очевидно), но -4000 со знаком. Как это -4000 подписано?
- person trusktr; 11.11.2010
ага, это действительно то, что здесь происходит. Вы должны были опубликовать ответ!
- person trusktr; 11.11.2010
в обычной двоичной системе числа со знаком используют MSB (самый значащий бит) для определения знака числа, остальная часть числа является фактическим значением.
В отличие от упакованного BCD, 4 LSb (младшие значащие биты) представляют знак, а остальная часть (слева) числа представляет фактическое значение.
person
Ken D
schedule
11.11.2010