原码、反码、补码。有符号整数的表示和运算。

本文详细解释了有符号整数的原码表示及其缺点,介绍了补码的发明以解决符号位运算问题,包括正负数的转换规则、补码加减法运算方法,以及如何根据减数的补码求其负值的补码。作者强调了现代计算机中通常使用补码进行运算和存储,并预告了后续将探讨的相关主题。

目录

前言:

有符号整数的表示

原码

原码的缺点

 原码反码补码的转换

 正数

负数

 补码换为原码的方法

补码的加法运算 

补码的减法运算 

减法转化为加法

已知“减数”的补码,怎么求它的负值的补码呢 

总结 :

更多内容:

如果本文章对你有帮助的话还请点赞收藏转发哦~


1.前言:

本文介绍在计算机中有符号整数的表示和运算。推荐阅读时长:20分钟

2.原码

现在现在的机器字长都是32位或者64位

1.最高的一位表示符号位用来表示正负 0表示正 1表示负。剩下的n个位置表示数值位

2.如果机器字长位n+1位,带符号整数的原码表示的范围就在0到2的n次方-1;

所以如果是机器字长32位的,那么表示的数值就是在0到2的31次方-1

3.真值0有两种形式:+0和-0,一个是符号位为0,数值为都是0;另一个是符号位为1,数值位全为0;

我们以以八位寄存器为例,现在机器是32位或者是64位的也是同理。这里选择8位的是方便讲解。

灰色的那个格子是符号位就是符号位

2.1原码的缺点

原码的缺点:符号位不能参与运算,需要设计复杂的硬件电路在能处理,费钱,贵

因此用补码表示真值  做到 符号位可以参与运算

 以上面的两个数字为例,真值是+19和-19相加结果应该是0

00010011加10010011结果是10100110,符号位是1表示负数,显然是错误的。

所以为了让符号位也能参与运算节约电路的成本,出现了补码


 

 3.原码反码补码的转换

 3.1正数

 正数的原码、反码、补码相同

3.2负数

负数的原码变为反码是符号位不变数值位取反

反码换成补码是在末位+1

补码变为原码可以反过来操作,末位-1,数值位取反。

也可以和原码变为补码那样符号位不变数值位取反,然后末位+1

评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值