计算机组成原理:无符号数和有符号数

在计算机中参与运算的数有两大类:无符号数和有符号数。

1.无符号数

定义为:不带符号位的整数(unsigned integer,也称为无符号整数),此类整数可以表示0和正整数;带符号位的整数(signed integer),此类整数可以表示正整数,又可以表示负整数。 无符号整数常用于表示地址、索引等正整数,它们可以是8位、16位、32位、64位甚至更多。

2.有符号数

对于符号数而言,符号的“正负”机器是没有办法进行识别的,但“正负:两种符号恰好是两种不同的状态,如果用”0“表示正,用”1“表示负,这样符号也被数字化了,并且规定将它们放到有效数字的前面,及组成了符号位。

如:

小数的情况下

+0.1011   它在机器中就可以表示为

0(符号位,代表”负“号)小数点的位置1011(有效数字位)

-0.1011,在机器中表示为:

1(符号位,代表在”正“号)小数点的位置1011(有效数字位)

当数为整数的情况下:

+1100,在机器中表示为:

0(符号位,代表”正“号)1100(有效数字位)(小数点位置)

-11001在机器中表示:

1符号位,代表”负“号)1100(有效数字位)(小数点位置)

规定把符号”数字化“的的数称为机器数,把带”+”,“-”的数成为真值。

符号数字化的运算:

有以下几种,原码,反码,补码和移码。

原码:

原码 (true form)是一种计算机中对数字的二进制定点表示方法。 原码表示法在数值前面增加了一位符号位(即最高位为符号位):正数该位为0,负数该位为1(0有两种表示:+0和-0),其余位表示数值的大小。

原码分为整数原码和小数原码

整数原码的定义为:

其中,x为真值,n为整数的位数。

例如:

当x=+1110时,[x]原=0,1110

当x=-1110时,[x]原=2^4-(-1110)=1,1110

都好的作用是将符号位与数值部分分开。

小数的原码定义为:

例如:

当x=0.1101时,[x]原=0.1101

当x=-0.1101时,[x]原=1-(-0.1101)=1.1101

反码:

反码就是原码到补码之间的一个过渡码,当原码为正时,他的反码和原码相同。当原码为负时,他的反码可以这样计算:符号为不变,其它各位取反所得到的。

例如:

当x=+1101时

[x]反=0,1101

当x=-1101时

[x]反=1,0010

它的定义如下:

整数的反码定义为:

x为真值,n为整数的位数

小数反码的定义为:

补码:

利用原码可以求补码,先求出原码的的反码,再对反码的末尾加1。补码分为整数补码和小数补码。

整数补码的定义:

例如:

当x=+1010时,

[x]补=0,1010

当x=-1101时,

[x]补=2^(n+1)+x=100000-1101=1,0011

小数补码的定义:

例如:

当x=0.1101时,

[x]补=0.1001

当x=-0.0110时,

[x]补=2+x=10.0000-0.01100=1.1010

注意:

当x=0时,

[+0.0000]补=0.0000

[-0.0000]补=2+(-0.0000)=10.0000-0.0000=0.0000

显然,[+0]补=[-0]补

移码:

当真值用补码表示时,由于符号位与数值部分一起编码,与习惯上的表示不同,人们很难从补码的形式下直接判断其真值的大小。于是就定义了移码。

移码的定义为:

[x]移=2^n+x(2^n>x>=-2^n)

例如:x=10100

[x]移=2^5+10100=1,10100

用逗号将符号位与数值部分分开

x=-10100

[x]移=2^5-10100=0,01100

当x=0时

[+0]=2^5+0=1,00000

[-0]=2^5-0=1,00000

即移码中的0是唯一的‘

其实,我们可以发现,同一个真值的移码和补码仅差一个符号位,若将补码的符号位由“0”改为“1”,或从“1”改为“0”,即可得该真值的移码。

真值,补码和移码的对照表:

结论:

当真值为正时,原码,补码和反码的表示形式均相同,即符号位用“0”表示,数值部分与真值        相同。

当真值为负时,原码,补码和反码的表示形式不同,但其符号位都用“1”表示,而数值部分有这样的关系,即补码时原码的“求反加1”,反码是原码的“每位求反”。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值