A1-1-数制与码制

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
1 + 1 = 0 (产生进位)
⑵ 减法运算规则:
0-0=0 0 - 1 = 1 (产生借位) 1-0=1
1101 -) 0 1 1 1 0110
1-1=0
⑶ 乘法运算规则:
1101 ×) 1 0 0 1
0×0=0 0×1=0 1×0=0
1101
0000 0000 1101 1110101
1×1=1
= 92.71875D
(其中B表示二进制,D表示10进制)

十进制转换为二进制


十进制到二进制的转换,要区分数的整数部分 和小数部分。 整数部分一般采用降幂法和除2取余的方法。 小数部分一般采用降幂法和乘2取整的方法。
降幂法

降幂法的步骤:


一个简单的例子
117D 64 32 16 8 4 2 1 117 - 64 = 53 53 - 32 = 21 21 - 16 = 5 5 < 8 5 -4=1 1<2 1 -1=0 a6=1 a5=1 a4=1 a3=0 a2=1 a1=0 a0=1
得到Bm
除2取余法

除2取余的规则为:



用2除实际十进制数的整数部分,取余数为转 换后二进制整数部分的低位数字; 再用2去除所得到的商,取余数为转换后的高 一位的数字; 重复上一步的操作,直到商为0,结束转换。
除2取余法

例如,将十进制的37转换成二进制整数: 2 37 ………… 1 低位 2 18 ………… 0 2 9 ………… 1 37D = 100101B 2 4 ………… 0 2 2 ………… 0 2 1 ………… 1 高位 0
0.43D = 0.01101B
十进制转换为二进制


在对小数进行转换的过程中,转换后的二 进制已达到要求位数,而最后一次的乘积 的小数部分不为0,会使转换结果存在误差, 其误差值小于求得的最低一位的位权。 对既有整数部分又有小数部分的十进制数, 可以先分别转换整数部分和小数部分,然 后再将二者合并起来,得到最后结果。例 如 37.43D = 100101.01101B
的、唯一的一组数字或符号来表示该集合中的各个具体事 物,这组数字或符号就是这个事物的编码。码的长度成为 码长; 码的集合成为码集或码表。

码制:编码的方法(规则)。
§1.1
数制
一、进位计数制
1. 定义
用一组数字或符号表示数时,如果每个数字表示的量不仅 决定于数字本身,还决定于它所在的位置,称为位置表示 法,也称进位计数制。 其中,对每个数位赋予一定的值,称为权。 每个数位上的数字所表示的量是这个数字和权的乘积。 相邻两数位,高位与低位的权之比一般为常数,称为基数。 基数不同便得到不同进位制的数。

原码的几何性质

原码在数值上是全部大于等于0的,较大的负数对应 的原码较小 0 2n-1 2n [x]原
x
-2n-1
0
2n-1
仅为整数,定点 小数情况类似
记N1 = Bm*2m-1 + Bm-1*2m-2 +… +B1 则有: N= 2*N1 + B0 根据整数的除法性质,N1和B0是唯一的, 所以 N1为N/2 的商, B0为所得到的余数。
除2取余法
同样,对N/2得到的商N1,有: N1 = Bm*2m-1 + Bm-1*2m-2 +… +B1 = 2(Bm*2m-2 + Bm-1*2m-3 +… +B2) + B1 推出: N1/2 商为N2,余数为B1 同理: N2/2 商为N3,余数为B2 . . . Nm/2 商为0, 余数为Bm 从而可得到N的二进制表示BmBm-1…B1B0 得到B1 得到B2
乘2取整法

例如,将十进制的0.43转换成二进制小数的过程 如下: (假设小数点后取5位)
0.43 0.86 0.72 0.44 0.88
. .
* * * * *
2 2 2 2 2
= = = = =
0.86 1.72 1.44 0.88 1.76
………… ………… ………… ………… …………
0 1 1 0 1
(4)除法运算规则 二进制数除法的计 算方法与十进制数 除法类似,也由减 法、上商等操作分 步完成。
1101
1001 1110101 1001 1011 1001
1001
1001 0
⑸ 逻辑或运算规则: (运算符为∨)
0∨0=0
0∨1=1 1∨0=1 1∨1=1
1100 ∨)1010
1110
定点整数
n位
定点小数

在原码中零有两种表示:
[+0]原 = 0 0000000B [- 0]原 = 1 0000000B

原码和真值之间的转换 (整数)

已知真值求原码 如 x = + x1x2x3…xn-1即x>=0, (xi皆为二进制数码) [x]原=0 x1x2x3…xn-1 ,即x0=0 如 x = - x1x2x3…xn-1 即x<=0, [x]原 =2n-1 – x = 1 00…00 – (- x1x2x3…xn-1) = 1 x1x2x3…xn-1 ,即x0=1
N
i k
D
m 1
i
Wi

如果该数制符合“逢r进位”的规则,则每 位的权可表示为 Wi=ri。 此时该进制又称为 “r进位数制”,简称“r进制”。
3. 常用进位制
在计算机中常用的几种进位数制有:

二进制
r=2,基本符号为0和1,为了能与其它进制数值区分
开来,常在二进制数值后加B表示,如:11010101B。
第一章 数制与码制
数制、二进制、八进制、十六进制、十进制
原码、反码、补码 加、减、乘、除 无符号数、有符号数 整数、小数、浮点数 ASCII、BCD码、格雷码、校验码 汉字编码 真值 溢出、进位 数制转换
§1.0


名词解释
数:即数字,客观事物的量(多少、大小等)在人脑中
的反映。
数制:计数方法(规则),即数的表示形式。 码:即编码,是指针对某个特定事物集合,用特定长度


首先写出要转换的十进 制数 其次写出所有小于此数 的各位二进制权值 然后用要转换的数减去 与它最近的二进制权值, 够减则在相应位记1, 不够则记0;如此不断 往复,直到0为止
降幂法

小数部分也可以采用降幂法来转换
给定十进制小数0.8125D 小于此数的二进制权为0.5 0.25 0.125 0.0625 0.8125-0.5 = 0.3125 0.3125-0.25 = 0.0625 b1=1 b2=1
2. 进位计数制的一般形式


假定用m+k个自左向右排列的符号来表示N,即:
N=Dm-1Dm-2…D0 ﹒D-1D-2 …D-k 其中Di为该进制的基本符号,小数点在D0和D-1之间, D0 之前为整数部分, D-1后为小数部分。 假如每个Di的单位值都赋以固定的值Wi,则称Wi为该位的

权,N的实际值为:


由两个基本符号:0 和 1 遵循逢二进一的规则 基为2,每位的权为2i 由于二进制数书写较长,难以记忆,因此常用易于与二进制转换的十 六进制数或八进制数来描述二进制数。

二进制数的优缺点

优点:
只有两个符号,数字符号少,表达简单清楚 运算规则简单,控制简单 可使用逻辑代数这一工具

八进制 r=8,基本符号为0~7,在数值后加Q表示,如325Q 十进制 十六进制 r=10,基本符号为0~9,在数值后加D(或无字母)表 r=16,基本符号为0~9和A~F,在数值后加H表示, 示,如928D或928

如AF08H。
4. 二进制数
为了方便在计算机中的存储以及计算的物理实现,在计算机中一般采 用二进制数。
⑹ 逻辑与运算规则: (运算符为∧)
0∧0=0
0∧1=0 1∧0=0 1∧1=1
1100 ∧)1010
1000
⑺ 逻辑非运算规则: (运算符为~)
~0 = 1
~1 = 0
~1101 = 0010
(8) 逻辑异或运算规则: (运算符为 + )
0+0=0
0+1=1 1+0=1 1+1=0 1100
八进制和十六进制之间的转换

八进制和十六进制之间的转换一般不用, 当需要的时候,可以使用二进制作为中间 结果来实现。
三、二进制数的运算规则

二进制数之间可以执行算术运算和逻辑运算,其运算规则简单,容易 实现。
⑴ 加法运算规则:
0+0=0 0+1=1 1101 +) 1 0 0 1 10110
1+0=1
1011 1100 1101 1110
12
13 14 15 16
A
B C D E
10
11 12 13 14
二进制、八进制、十六进制之间的转换

在把二进制数转换为八进制或十六进制数 时,应从小数点所在位置开始每三位(八进 制)或每四位(十六进制)进行分组,然后根 据上表写出所对应的八进制或十六进制数。 (不够3或4的倍数时,用0补齐) 1100111B 001 100 111 147Q 1100111B 0110 0111 67H
十进制转换为八、十六进制

采用类似的方法也可以实现从十进制到八 进制、十六进制的转换,例如:
8 8 1109 …… 5 138 …… 2 8 17 …… 1 8 2 …… 2 0
1109D=2125Q
二进制、八进制、十六进制之间的转换


由于用二进制来表示一个数,书写起来比 较长,因此在计算机中常常采用八进制和 十六进制来表示数值数据。 由于8和16都是2的整数幂,因此它们之间 的转换非常方便,它们之间的对应关系如 下图所示:


缺点:

阅读书写麻烦,转换不方便
二、数制之间的转换

二进制转换为十进制

二进制的每一位的数码与对应位的权相乘,然后再求 和,即为对应的十进制的值。 如 1011100.10111B
6 5 4 3 2 1 0 -1

=1· +0· +1· +1· +1· +0· +0· +1· 2 2 2 2 2 2 2 2 -2 -3 -4 -5 +0· +1· +1· +1· 2 2 2 2
二、八、十六和十进制的对应关系
二进制数 0000 八进制数 00 十六进制数 0 十进制数 0
0001
0010 0011 0100 0101 0110 0111 1000 1001
ຫໍສະໝຸດ Baidu01
02 03 04 05 06 07 10 11
1
2 3 4 5 6 7 8 9
1
2 3 4 5 6 7 8 9
1010
乘2取整法

对小数部分,可以采用乘2取整法完成十进制到二 进制的转换,其原理证明类似于整数部分的除2取 余法,请同学们自己完成。其规则为:



用2乘十进制数的小数部分,取乘积的整数为转换后的 二进制数的高位数字; 再用2乘上一步乘积的小数部分,取新乘积的整数为转 换后二进制小数低一位数字; 重复前一步操作,直至乘积部分为0,或已得到的小数 位满足要求,结束转换过程。
+) 1 0 1 0
0110
§1.2
原码、补码和反码



在计算机中为了表示有符号数,需要将符号数值化,通常用0表示正 数,1表示负数; 为了区别原来的数和它在计算机中的表示形式,通常将在计算机中 表示的二进制编码称为“机器数”,而它所对应的实际数值称为该 机器数的“真值”。 要用N位的二进制来表示N-1位的真值 最常用的编码方法有原码、补码和反码三种表示方法。

已知原码求真值 [x]原= x0x1x2x3…xn-1 如X0 = 0, 则 x>=0, 因此 x = [x]原 = + x1x2x3…xn-1 如X0 = 1, 则 x<=0, 因此 : x = 2n-1 - [x]原 = 1 00…00 -x0x1x2x3…xn-1 = 1 00…00 – (100…00 – (- x1x2x3…xn-1)) = - x1x2x3…xn-1
一、原码

原码


原码是用最高位表示符号(正为0,负为1), 其它位直接表示数值大小。 符号位 原码的定义为:
n 1 x 0 x2 [ x ]原 n 1 n 1 2 x 2 x 0 0 x 1 x [ x ]原 1 x 1 x 0
0.8125D=0.1101B
0.0625<0.125
0.0625-0.0625 = 0
b3=0
b4=1
除2取余法

整数部分的转换也可以采用除2取余法。 原理:

设十进制整数N,采用二进制可表示为:
N = BmBm-1…B1B0 = Bm*2m + Bm-1*2m-1 +… +B1*21 + B0 = 2*(Bm*2m-1 + Bm-1*2m-2 +… +B1) + B0 (其中Bi为0,1)
相关文档
最新文档