“计算机基础——补码”

计算机的编码基础

计算机中一个字节有8位,它表示的范围0000 0000~1111 1111。共有256个。那么如何利用这样的硬件基础来表示我们需要的数据范围呢?即我们需要如何编码呢?

在计算机系统中,数值一律用补码的形式表示和储存。原因在于,使用补码可以将符号位和数值域同意处理;同时,加法和减法可以统一处理。另外补码和原码的转换,运算过程是相同的,也就是无需其他的硬件电路即可转换。


补码的运算

正数求补码:

正数的补码就是其二进制表示,与原码相同。例如:数字5的补码是0000 0101。同时原码也是0000 0101

负数求补码:

求负数的补码,首先需要求得负数对应正数的二进制表示,然后按位取反。之后整体结果再加1.即得到了负数的补码。例如:求数字-5的补码。首先得到+5的二进制表示:0000 0101。然后按位取反可得1111 1010。之后整体加1。即1111 1011。便是-5的补码。

补码求源码:

有符号型的变量signed:可以表示-128 ~ 127这256个数字。
无符号型的变量unsigned:可以表示0 ~ 255这256个数字。


总结

  • 补码的编码方式可以使得符号位直接参与运算,不需要单独标识。
  • 正0、负0标识方法相同。无需区分
  • 加法变减法,同时也适用于乘法和除法。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值