使用x ^ n溢出,先得到一个负数,然后得到一个正数

时间:2019-06-29 13:40:05

标签: c

我计算出45 ^ 22。通过overlay2printf循环,我确切地了解它是如何完成的。当它执行184528125 * 45((45 ^ 5)* 45)时,结果高于int可以存储的值,因此我得到一个负值。而不是8303765625,我得到-286168967。在下一步中,它尝试将-286168967与45相乘,但得到的不是负值,而是7298373。这是因为有符号和无符号吗?

for

我得到的不是-8303765625,而是-286168967。

0 个答案:

没有答案