Я разрабатываю простой комплект игрушек и сопровождающий эмулятор, и я пытаюсь выяснить, какие инструкции следует поддерживать. На пути арифметики у меня в настоящее время есть unsigned add, subtract, multiply и divide. Тем не менее, я не могу найти окончательного ответа на следующий вопрос: кому из арифметических операторов нужны подписанные версии и для которых эквивалентны подписанные версии без знака и двух?Какие арифметические операции одинаковы для неподписанных и двух дополняемых номеров?
Так, например, 1111 в дополнении 2 равно -1. Если вы добавите 1 к нему и притворитесь, что это число без знака, вы получите 0000, что правильно, даже если вы думаете об этом как -1. Однако это верно для всех чисел? А как насчет других трех операций (вычитание, умножение, деление)?
Спасибо!
[Non увеличивающийся результат умножения одинакова для обоих подписанных и неподписанных типов] (http://stackoverflow.com/q/14063599/995714) –