Что значит выразить битовую строку как количество дополнения до двух в десятичном виде? - PullRequest
0 голосов
/ 24 сентября 2019

Исходный вопрос: Выразите битовую строку 11001110 как десятичную величину, сначала интерпретируемую как величину без знака, а вторую интерпретируем как величину дополнения до двух.

Таким образом, для битовой строки 11001110 ее дополнение равно 00110001, что 49 в десятичном, верно?

Но я не уверен, что вопрос задает.Является ли битовая строка 11001110 уже дополненной версией?Или меня попросили найти его дополнение и преобразовать его в десятичное число?

Во-вторых, 11001110 - это 206 в десятичном виде;поскольку дополнение двух использует старший бит в качестве знакового бита, то 206 не может быть представлен в праве дополнения двух (из-за переполнения, при условии использования только 8-разрядного)?Это будет отрицательно.Но 00110001 самый старший бит равен 0, что означает, что количество положительно?Я в замешательстве ...

1 Ответ

0 голосов
/ 24 сентября 2019

Два дополнения

Чтобы получить двойное дополнение числа, инвертируйте биты и добавьте 1. Если вы хотите проверить свой ответ, используйте онлайн-конвертер, такой как этот .Имейте в виду, что ширина вашего двойного дополнения может привести к перепаду битов переполнения .

Существуют различные вопросы переполнения стека, которые также касаются дополнения двух, например

...