考研王道第二章(1)

一.数制与编码

1.1计算机内部使用二进制编码的原因

  1. 二进制只有两种状态0,1。,使用两个稳定状态的物理器件就可以表示二进制的每一位,制造成本比较低,例如高低电平,和电荷的正负性也可以用0,1表示。
  2. 二进制位的0,1对应的是真和假,与计算机的逻辑运算和程序的逻辑判断提供了遍历条件

1.2 基数

 r为基数,每个数码位所用到的不同符号的个数,r进制的基数是r

如二进制的基数为2:0,1

八进制:01234567

十六进制:0123456789ABCDEF

1.3 进制转换

1.3.1转十进制

二进制:101.1(2) = 1 x 2^{2} + 0 x 2^{1} + 1 x 2^{0} + 1 x 2^{-1} = 5.5(10)

八进制:5.4(8) = 5 x 8^{0} + 4 x 8^{-1} = 5.5(10)

十六进制:5.8(16)= 5 x 16^{0} + 8 x 16^{-1} = 5.5(10)

1.3.2 进制之间的加法

5.4(8)+ 5.4(8)= 5.4 + 5.4 = 7.0(8)

注意🫠:八进制是逢八进一,所以0.4 + 0.4 不等于 0.8 而是进一 为7

5.8(16)+ 0.9(16) = 6.1(16)

注意🫠:5.8 + 0.9 不等于 6.7。0.8 + 0.9 不等于 1.7,逢16进一应该是 1.1

1.3.3 不同进制转换为10进制

二进制:101.1(2) = 1 x 2^{2} + 0 x 2^{1} + 1 x 2^{0} + 1 x 2^{-1} = 5.5(10)

还可以用位权来计算

如 10010010.110 = 128+16+2+0.5+0.25=146.75

1.3.4 2进制与8,16进制之间转换

2进制->8 进制 : 3位一组,😎如果头部和尾部不够的补0

2进制->16 进制 : 4位一组,😎如果头部和尾部不够的补0

8进制-> 2 进制:一位8进制对应3为2进制

16进制-> 2 进制:一位16进制对应4为2进制

注意🤯除了下标以外还有一些进制表示方式

二进制还有B可以表示

十进制 可以用 H 表示

十六进制可以用 D, 也可以用OX表示、

1.3.4 十进制->任意进制

对整数:用除基取余法,除对应进制的基数

最下面的是高位,上面的是低位

对小数用乘基取整法

注意😶‍🌫️:上面的是高位,下面的是低位

§ 对于十进制转换为二进制还有更方便的方法为拼凑法🤓

1.4 真值与机器值 

如 +12,-16

真值:有+-正负号表示的值,如+12,-16

机器值:由于计算机不能识别+-,所以0表示正,1表示负

二.定点数的编码表示 

定点数:小数点的位置固定不变 996.07

浮点数:小数点的位置不固定 如9.96007*10^2

无符号数:全部二进制都是表示数值,无表示正负的数

n位无符号数的范围为:0 - 2^{8} -1

注意🧐我们只讨论无符号整数,不讨论无符号小数。

有符号数:有表示正负的数

2.1 有符号数的定点表示

由于注意🧐我们只讨论无符号整数,不讨论无符号小数。的原因我们需要将一个数的整数部分和小数部分分开来保存。

2.1.1定点整数和定点小数

定点整数:定点整数纯整数,约定小数点位置在有效数值的最后一位隐含

定点小数:定点小数是纯小数,约定小数点在符号位之后。

2.1.2 原码,补码,反码,移码

通用机器字长为8位

 (1)有符号整数的原码

若系统分配n+1个bit位,那么符号占一个bit,数值占n个bit,

若字长为n+1原码的整数范围为 -(2^{n}+1)≤ x ≤  (2^{n}+1)

真值0有两种表示方式:第一个0与1表示符号,逗号表示符号位与真值的区别

        【+0】原码 : 0,0000000;【-0】原码:1,000000

例如:x1为+1110,x2为-1110 ,字长为8为,所以【x1】原= 0,0001110;【x2】= 1,0001110

(2)有纯小数的原码 

若字长为n+1则纯小数的原码范围为-(1-2^{-n})≤ x ≤ (1-2^{-n}

若x1 = + 0.1101,x2 = -0.1101,字长为8,则原码表示 【x1】= 0.1101000,【x2】= 1.1101000

(3)反码

        若符号位为0,即正数。则反码与原码相同

        若符号位为1,即负数。则反码为原码的数值位全部按位取反

 

反码的0也有两种表示方法 +0,-0;

【+0】反码与原码一样= 00000000

【-0】反码 = 11111111 【-0】原码 = 10000000

(4)补码

正数的补码和原码一样

负数的补码 = 反码末位 + 1 但是要考虑加一

2.1.3 原码,补码,反码,移码 的缺点 

  1.         原码的缺点:符号位不能参见运算,需要设计很复杂的电路才能实现,所以我们需要将原码转变成补码,但是反码是过度码

​​​​​​​

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值