计算机基础-数字表示与信息编码-码制及运算

一.码制

计算机并不能直接使用二进制数运算,更不能使用十进制数运算,必须先转为其可用的码制数

为简化理解,以下假定机器字长为4位,其他字长同样满足以下结论

(1)真值(记为N)

符号没有被数码化的二进制数称为数的真值,即我们平时直接书写的二进制数

(1)原码(记为[N]_{Y})

为简便二进制数的符号运算,在二进制数前加1表示负数,加0表示正数,加符号位后的数称为原码

规定:+0的原码为0000...,-0的原码为1000...

如:N=+101,[N]_{Y}=0101;

       N=-101, [N]_{Y}=1101;

(2)反码(记为[N]_{F})

反码是计算机编码的中间状态,实际上无应用场景,正数的反码为原码不变,负数的反码为原码除符号位都取反(0变1,1变0) ​

           +0的反码为0000...,-0的反码为1111...

如:[N]_{Y}=0101,[N]_{F}=0101;

       [N]_{Y}=1101,[N]_{F}=1010;

(3)补码(记为[N]_{B})

补码是计算机能用于直接运算的码制,正数的补码为反码不变,负数的补码为反码的最后一位+1(记得按2进位)

           +0、-0的补码均为0000...

如:[N]_{F}=0101,[N]_{B}=0101;

       [N]_{F}=1010,[N]_{B}=1011;


二.运算

(1)求相反数

所有位取反,最后一位+1即可(记得按2进位)

如:[N]_{B}=1011,[-N]_{B}=0101

(2)加减法

_{}[m+n]_{B}=[m]_{B}+[n]_{B}

[m-n]_{B}=[m]_{B}+[-n]_{B}

(3)溢出检查

溢出现象:计算中产生了超出机器字长的结果

如:[-111]_{B}+[-110]_{B}=10011

机器字长为4位,10011的第一个1超出被计算机舍弃,造成溢出,产生错误的0011结果

判断方法:同号相加结果成异号(如0开头变1开头),即为溢出

处理方法:在结果后加注“溢出”即可


注:乘除法在不同机器中有不同解决方法,这里不作介绍

       溢出的解决方法将在计算机组成原理中整理

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

曦言✿

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

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

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

打赏作者

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

抵扣说明:

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

余额充值