C语言中高位为符号位,会不会出现像char型,01111111+00000001=10000000,两个正数相加等于负数的情况?

还有一个问题,负数的补码是等于原码除符号位外,其他位取反+1的结果,但是如果将负数的补码转化为原码的时候,为什么也是除符号位外,其他位取反+1,得到原码?原本按道理想的话,应该是先减去1,再取反?

会啊 这个应该算是加法的溢出追问

哦,我理解了,过127超过char的范围了,那第二个问题呢

追答

第二个问题是这样的 二进制里取反加1 和减1取反的效果是一样的,你可以试一下

温馨提示:内容为网友见解,仅供参考
无其他回答
相似回答