В моей программе две переменные объявлены как подписанные долго (пусть говорят X и Y на 32-битной машине), и они делятся на другие (X/Y).Беззнаковое и подписанное деление на C
Конечное значение присваивается переменной без знака (пусть говорят, Z). Я не уверен, правильно это или нет. Я просто отлаживаю код, который был написан кем-то. Я думаю, это может привести к переполнению или неопределенному состоянию.
Что происходит в ниже четырех сценариев,
Z =+X/+Y
Z =+X/-Y
Z =-X/+Y
Z =-X/-Y
Я знаю, что% и, для неподписанных и% D для целого числа. Мой вопрос заключается в том, какое значение будет храниться в Z в четырех вышеупомянутых сценариях.
Любая помощь была бы принята с благодарностью.
Почему вы не можете попробовать это самостоятельно, чтобы получить первую идею? –
Это не вопрос разделения. Это вопрос о подписке на неподписанное преобразование: http://stackoverflow.com/questions/50605/signed-to-unsigned-conversion-in-c-is-it-always-safe –
@JensGustedt Вы выступаете за программирование пробной версией и ошибка? Я считаю, что это плохие советы. –