补码 学习笔记

我对二进制不是很了解,今天去看了一些补码的资料,写了一些笔记用于回顾,可能会有一些地方理解得不到位,希望路过的朋友看到后能帮我指出,万分感谢。


1.数字在计算机中的储存

大家都知道,数字在计算机中是以二进制的形式(补码)进行储存的,最高位作为符号位(最高位为0时是正数,反之则为负数)。假设计算机字长为4,那么,【0011】表示的就是3,【1011】则表示-3;


2.如何获取一个数的补码

我们首先得知道,正数的源码补码和反码是一样的。负数的补码则是原码变成反码(最高位不变,其余取反)之后再+1。

3的原码【0011】,反码【0011】,补码【0011】。

-3的原码【1011】,反码【1100】,补码【1101】。


3.补码的几个特点

1、一个整数的原码与其补码相加,和为模。
2、对一个整数的补码再求补码,等于该整数自身。
3、补码的正零与负零表示方法相同。

4.补码的运算

假设我们现在有两个数 X 和 Y ,计算机字长为4.


1.补码加法

[X+Y]补 = [X]补 + [Y]补

当 x = 2,y = -3 时 .

[X]补 = 【0010】,[Y]补 = 【1101】.

       0010

+     1101

-------------

       1111

[X+Y]补 = 【1111】,[X+Y] = 【1001】,x + y = -1.


当 x = -2,y = 3 时 .

[X]补 = 【1110】,[Y]补 = 【0011】.

       1110

+     0011

-------------

       0001

[X+Y]补 = 【0001】,[X+Y] = 【0001】,x + y = 1.


2.补码减法

[X-Y]补 = [X]补 - [Y]补 = [X]补 + [-Y]补


当 x = -2,y = 3 时 .

[X]补 = 【1110】,[-Y] = 【1011】,[-Y]补 = 【1101】.

       1110

+     1101

-------------

       1011

[X+Y]补 = 【1011】,[X+Y] = 【1101】,x - y = -5.








评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值