CPP--正码,反码,补码~附整数溢出的探讨

微软信仰中心 2018-01-03

之前说到了long的争议(http://www.cnblogs.com/dotnetcrazy/p/8059210.html),这边就不用long来举例了,用int吧

可以看一下这篇文章(http://www.cnblogs.com/dotnetcrazy/p/6743530.html),更好理解本文(本文不继续探讨大小端对齐问题,只研究标题内容)

1.基础就不详解了贴张图

CPP--正码,反码,补码~附整数溢出的探讨

说一下QWORD,之前也被网上误导了,网上很多都是说无符号的word,按照惯例,如果是unsigned word,那么所占字节应该和word一样才对

验证:有无符号,他所占字节并不变

CPP--正码,反码,补码~附整数溢出的探讨

后来发现Win10最新版有一计算器神器(你们可以通过应用商城装)===》

通过7来说说这些“字”宝宝们(我后面说补码计算的时候也会用到这个案例)

1Byte=8bit(一个二进制位就是一个bit)

7==》0000 0111

CPP--正码,反码,补码~附整数溢出的探讨

1WORD=2Byte,7==》0000000000000111

CPP--正码,反码,补码~附整数溢出的探讨

1DWORD=4Byte,7==》00000000000000000000000000000111

CPP--正码,反码,补码~附整数溢出的探讨

重点来了,要是QWORD真的是WORD无符号字,那么应该和WORD一样只占2Byte

CPP--正码,反码,补码~附整数溢出的探讨

然而事实==》打脸打的PaPa响,1QWORD=8Byte,7==》以下省略一千字

2.原码,反码,补码

3.整数溢出探讨

相关推荐