安防监控知识
电气知识|计算机中数和字符的表示
2017-01-13  浏览:46
安防之家讯:一、带符号二进制数表示

1、什么是字长?

计算机数据线一次能传送的最大的二进制数的位数。常用的字长:

8位、 16位、 32位

↓ ↓↓

Z80IBMPC80386

ApplePC/XT80486

PC/AT

2、无符号二进制数

在字长范围内,所有二进制位都是数值位。

字长8位: 0~255   00H~FFH

字长16位: 0~655350000H~FFFFH

字长32位: 0~4294967295  0000 0000H~FFFF FFFFH

3、有符号二进制数

在字长范围内,最高二进制位为符号位,其余位为数值位。

字长8位:数值范围80H~7FH-128~+127

字长16位: 8000H~7FFFH-32768~+32767

字长32位: 8000 0000H~7FFF FFFFH-2147483648~+2147483647

二、带符号数的补码表示

在计算机中,任何一个带符号数,都是以补码的形式进行存贮和管理的。

1、带符号数的原码表示

最高位为符号位,其余位是数值位。

[+121]原= 0111 1011 0000000001111011

[-121]原= 1111 1001 1000000001111001

[+0]原= 0000 00000000000000000000

[-0]原= 1000 00001000000000000000

2、补码表示

(1)正数,同原码

(2)负数,原码的每一位(符号位除外)取反,再在末位加1

例:字长8位,求-11的补码

原码 1000 1011

各位取反 1111 0100

末位加11111 0101

例:字长8位,求-0的补码

原码1000 0000

各位取反1111 1111

末位加1 0000 0000

还有一种办法可以写出一个负数的补码:

令,则[x]补码=, n是字长的位数

例:[-1]补== 1111 1111

[-127]补== 1000 0001

[-64]补==1100 0000

[-5]补= =1111 1011

[-128]补==1000 0000 

3、由补码求真值(补码对应的十进制数)

原码就是数字本身,例如:

(+7)的原码=0000 0111 最高位为符号位(0表示正数)

(–7)的原码=1000 0111 最高位为符号位(1表示负数)

反码就是将原码按位求反(符号位不变),例如:

(+7)的反码=0111 1000 符号位不变

(–7)的反码=1111 1000 符号位不变

从计算机运算的角度来讲,“符号位不变,将原码求反再加一”的算法是很方便的,但对于读者理解补码的概念没有多大帮助。

例如:求(–7)的补码。



注意:当负数以补码的形式表示时,求该数的原值仍用“求反再加一”的方法,例如,



如果是正数,就不能用上述方法。正数的补码就是该数的本身,所以本书中不引入“正数的补码就是原码”的概念。

其实补码是针对负数来说的,计算机中只有加法器(没有减法器),引入补码的目的是为了将减法计算变为加法计算。

有了只有负数才有补码的概念后,我们就可将注意力放在负数上。让我们以时钟来说明补码的概念,见表1-1。

表1-1

 时间

 逆时针时间

 0(12)

(–12)(–12)的补码 = 12 – |–12| = 

1

(–11)(–11)的补码 = 12 – |–11| = 

2

(–10)(–10)的补码 = 12 – |–10| = 

3

(–09) (–9)的补码 = 12 – |–09| = 

4

(–08) (–8)的补码 = 12 – |–08| = 

5

(–07) (–7)的补码 = 12 – |–07| = 

6

(–06) (–6)的补码 = 12 – |–06| = 

7

(–05) (–5)的补码 = 12 – |–05| = 

8

(–04) (–4)的补码 = 12 – |–04| = 

9

(–03) (–3)的补码 = 12 – |–03| =

10

(–02) (–2)的补码 = 12 – |–02| = 

11

(–01) (–1)的补码 = 12 – |–01| = 

结论:时间的表示范围:(–12 ~ +11)

(–x)的补码 = 模 – |–x|(模 = 状态的个数0,1,2,…,11)

例如:求时间 –2 的补码。

(–2)的补码 = 12 – |–2| = 10

例如:通过补码将减法转为加法。

11–10 = 11 +(–10)的补码 = 11+2 = 13(13 – 12 = 1)

11–1 = 11 +(–1)的补码 = 11+11 = 22(22 – 12 = 10)

12–12 = 12 +(–12)的补码 = 12+0 = 12(12 – 12 = 0)

将补码用于1个字节:



模==128(模 = 状态的个数 0~127)(127=7FH)

(–1)的补码 = 128 – |–1|=128–1=127(7FH),再加上符号位,即为0FFH

(–2)的补码 = 128 – |–2|=128–2=126(7EH),再加上符号位,即为0FEH

(

(–127)的补码 = 128 – |–127|=128–127=1(01H),再加上符号位,即为81H

(–128)的补码 = 128 – |–128|=128–128=0(00H),再加上符号位,即为80H

1 个字节可表示的数:(–128 ~ 127)

将补码用于1个字:



模==32768(模=状态的个数0~32767) (32767=7FFFH)

(–1)补=32768–|–1|=32768–1=32767(7FFFH),再加上符号位,即为0FFFFH

(–2)补=32768–|–2|=32768–2=32766(7FFEH),再加上符号位,即为0FFFEH

(

(–32767)补=32768–|–32767|=1(0001H),再加上符号位,即为8001H

(–32768)补=32768–|–32768|=0(0000H),再加上符号位,即为8000H

1个字可表示的数:(–32768 ~ 32767)

4、补码的应用

1、补码的运算规则

[x+y]= [x] +[y]

[x-y]= [x] +[-y]

2、引进补码后,减法可以变成加法

例1:8-2=[8]+[-2] =+6

0000 1000

+ 1111 1110→-2补码

丢失 ← 1 0000 0110

例2:64-(-10)=[64]+[10] =74

0100 0000

+ 0000 1010

0100 1010 

例3:64-10=[64]+[-10]=54

0100 0000

+ 1111 0110

1 0011 0110

安防之家专注于各种家居的安防,监控,防盗,安防监控,安防器材,安防设备的新闻资讯和O2O电商导购服务,敬请登陆安防之家:http://anfang.jc68.com/
更多»您可能感兴趣的文章:
更多»有关 安防 的产品:
  • 安防监控资讯
  • 发表评论 | 0评
  • 评论登陆
  • 移动社区 天花之家 木门之家 灯具之家 铁艺之家 幕墙之家 五金头条 楼梯头条 墙纸头条 壁纸头条 玻璃头条 老姚之家 灯饰之家 电气之家 全景头条 照明之家 防水之家 防盗之家 区快洞察 建材 枣庄建材 临沂建材 南昌建材 上饶建材 抚州建材 宜春建材 吉安建材 赣州建材 鹰潭建材 新余建材 九江建材 萍乡建材 景德镇陶瓷 石家庄建材 衡水建材 廊坊建材 沧州建材 承德建材 建材之家 企业之家 720全景
    (c)2015-2017 Bybc.cn SYSTEM All Rights Reserved