会报 [Warning] integer overflow in expression [-Woverflow]
运行结果如图
补码计算法定义:非负数的补码是其原码本身;负数的补码是其绝对值的原码最高位符号位不变,其它位取反,再加1。
补码为什么是用取反+1 (大学老师的缩减式讲法)
我的理解:x的补码就是mod+x = mod - (-x),所以x是正数的时候,其补码是原码,当x是负数的时候,不看符号位的话,x的反码就是mod - 1 + x ,再加1 就是其补码。详细的请看下面的链接,讲的比较清楚。
关于补码:我对补码的理解