计算机系统基础知识一、数值的源码、反码、补码、移码

目录

一、原码、反码、补码定义

1、原码表示

2、反码表示 

3、补码表示 

二、算数运算

1、二进制算数运算规则

2、机器数的加减运算

三、移码定义

四、移码的意义

概要

        在计算机基础中,原码、反码、补码和移码是用于表示和处理有符号整数的编码方式。它们各自具有不同的定义和用途。在本文中,我将详细解释每种编码方式,并提供实际例子以加深理解。

一、原码、反码、补码定义

1、原码表示

  数值X的原码记为[X]原,如果机器字长为n ( 即采用n个二进制位表示数据),则最高位是符号位,0表示正号,1表示负号,其余的n-1位表示数值的绝对值。数值零的原码表示有两种形式: [+0]=0000000, [- 0]=1000000。

      原码的优点是直观,容易理解。然而,原码的缺点是加法和减法运算复杂,需要额外的规则来处理符号位。

2、反码表示 

        为了解决原码在加减运算中的问题,反码被引入。

        数值X的反码记作[X]反,如果机器字长为n,则最高位是符号位,0表示正号,1表示负号,其余的n- 1位表示数值。正数的反码与原码相同负数的反码则是其绝对值按位求反。数值0的反码表示有两种形式: [+0]-0000000, [- 0]=1111111。

        反码的优点是加减法运算规则简单,只需对应位相加并进位。然而,反码的缺点是存在两个零值:正零和负零。

3、补码表示 

        为了解决反码的正零和负零问题,补码被引入。

        数值X的补码记作[X]+,如果机器字长为n,则最高位为符号位,0表示正号,1表示负号,其余的n-1位表示数值。正数的补码与其原码和反码相同,负数的补码则等于其反码的末尾加1。在补码表示中,0有唯一的编码: [+0]补=[- 0]补=00000000。

        补码的优点是只有一个零值,可以直接进行加减运算,而不需要额外的规则。补码还有一个重要的特性是能够通过减法运算实现加法,从而简化了计算机的逻辑电路设计。

二、算数运算

1、二进制算数运算规则

(1)加法:二进制加法的进位规则是“逢二进一”

(2)减法:二进制减法的借位规则是“借一当二”

(3)乘法:

2、机器数的加减运算

  在计算机中,通常只设置加法器,减法运算要转化为加法运算来实现。

  机器数的加减运算一般用补码来实现, 其运算方法如下:

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

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

三、移码定义

        移码表示法是在数X上增加一个偏移量来定义的,常用于表示浮点数中的阶码。如果机器字长为n,在偏移量为2(n-1)次方,只要将补码的符号位取反便可获得相应的移码表示

四、移码的意义

  补码表示很难直接判断其真值大小,比如:

我们加一个偏移量:2^5,得到正确的大小比较结果

  • 11
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 4
    评论
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

森旺电子

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值