Преобразование десятичной / двоичной в знак и величину,
Я исследую, как преобразовать десятичное число в знак величины,
Я понимаю, что число 19 в двоичном коде равно 10011 в виде двоичной строки, однако теперь я застрял при преобразовании этого числа в число со знаком и величиной.
Насколько я понимаю, я бы сказал, что 10011 будет равно -3 по знаку и величине, потому что знак "самая значимая" цифра в двоичной строке равен 1, что означает, что он должен быть отрицательным, а оставшийся - это 0011, который преобразует его обратно в десятичная дробь - 3... так я прав, что 19 в десятичной дроби - это -3 знак и величина? или я что-то не так понял? я не могу найти ни одного места, которое полностью объясняет, как работает этот процесс.
Спасибо за любую помощь.
1 ответ
У меня такое ощущение, что я делаю твою домашнюю работу, но ты не понимаешь, поэтому я попытаюсь объяснить.
Десятичное число равно 19. Вы преобразуете это в двоичное и это 10011. Но что, если вы хотите преобразовать -19? Вы не можете представить это в настоящее время, потому что нет двоичного символа "-". Таким образом, вы решаете поставить дополнительный бит перед вашим двоичным числом, чтобы представить, является ли оно положительным или отрицательным. Самая значимая цифра - 1, поэтому вы говорите, что 1 будет представлять отрицательное значение, а 0 - положительное. Так что на этот раз, когда вы конвертируете 19, вы получите 010011. Первая цифра - 0, так что вы знаете, что она положительная. Первая цифра - это знак. Когда вы конвертируете -19, вы получите 110011. Первая цифра - 1, так что вы знаете, что она отрицательная. Первая цифра - это знак. Остальная часть числа указывает на величину. В обеих из этих двух сумм величина равна 19, но знак отличается.
Если вы снова преобразуете десятичную (19) в двоичную (10011) в десятичную, вам нужно вернуться к исходному ответу, а 19 не равно -3.
Надеюсь это поможет.
Смотреть это https://www.youtube.com/watch?v=ikThX9Z0jUo