计算机组成原理:无符号数和有符号数的区别_有符号数和无符号数的区别二进制

计算机组成原理:无符号数和有符号数的区别_有符号数和无符号数的区别二进制其中,x为真值,n为整数的位数

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

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=-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”,反码是原码的“每位求反”。

今天的文章
计算机组成原理:无符号数和有符号数的区别_有符号数和无符号数的区别二进制分享到此就结束了,感谢您的阅读。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:https://bianchenghao.cn/80349.html

(0)
编程小号编程小号

相关推荐

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注