首先声明常用的几点,想了解更多详细内容读完全文(包括二进制补码系统的简单介绍):
1,
表示一个数值要先说明是用多少bit,例如:
用8bit表示数值时,(-128)没有相对应的原码和反码, (-128)补码 = (1000 0000)
同理(2B=16bit)表示:(-32768)补码=(1000 0000 0000 0000),后面回给出证明,
因为它是不能简单的用取反加一的方法来求反码的。
2,
证明:用(2B=16bit)表示:(-32768)补码=(1000 0000 0000 0000)
(1)32767(正数补码与原码相同)是0111 1111 1111 1111
(2)-1的补码,其原码取反在加一得 1111 1111 1111 1111
(3)0111 1111 1111 1111+1000 0000 0000 0000=1111 1111 1111 1111
(4)(令上式x==1000 0000 0000 0000)即:32767+x=-1
(5)x=-32768
至于用阅读全文>
发表于 @ 2006年04月21日 22:54:00|评论(loading...)|编辑