原码,反码,补码

原码,反码,补码以及机器表示

这里给出的只是这些知识点的一个总结,更为细致的解释在各位前辈的博客中都有详细的讲解。

原码:

原码是人们能够想到的数字在机器中最直观的表示。最高位为符号位,符号位为0表示正数,符号位为1表示负数。以八位为例(当然现在大部分机器int型都是32位),“3”的原码就是“0000 0011”,而“-3”的原码是“1000 0011”。

反码:

正数的反码是其本身,负数的反码事实上就是它的符号位不变,其他部分全部取反(0变为1,1变为0)。感觉反码的用处不大,只是为计算后面的补码搭了一个中间的桥梁罢了。

补码:

正数的补码依旧是它本身。负数的补码是它的反码加1。事实上,负数补码的计方法是:符号位不变,用模数(如果是8位的话那就是1000 0000)减去该负数的数值部分。比如说对于-3,它的补码就是1000 0000 - 000 0011 = 111 1101,最后前面再加上符号位1,就得到了-3的补码1111 1101。这个结果其实就是-3的反码加1。

机器表示

一个数实际上在计算机中都是用补码表示的,在进行位运算的时候,不能想当然的以为是原码。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值