第1章 预备知识(数制与码制)
发布时间:2024-11-21
发布时间:2024-11-21
df
第1章 数制与编码
第1章 数制与码制1.1 1.2 进位计数制及各计数制间的转换 二进制数的运算
1.31.4 1.5
带符号数的表示方法——原码、反码、补码定点数与浮点数 BCD码和ASCII码
df
第1章 数制与编码
1.1 进位计数制及各计数制间的转换数制是人们对事物数量计数的一种统计规律。在 日常生活中最常用的是十进制,但在计算机中,由于其 电气元件最易实现的是两种稳定状态:器件的“开”与 “关”;电平的“高”与“低”。因此,采用二进制数 的“0”和“1”可以很方便地表示机内的数据运算与存 储。在编程时,为了方便阅读和书写,人们还经常用八 进制数或十六进制来表示二进制数。虽然一个数可以 用不同计数制形式表示它的大小,但该数的量值则是相
等的。2
df
第1章 数制与编码
1.1.1进位计数制当进位计数制采用位置表示法时,同一数字在不同的数 位所代表的数值是不同的。每一种进位计数应包含两个基本 的因素: (1)基数R(Radix):它代表计数制中所用到的数码个数。 如:二进制计数中用到0和1两个数码;而八进制计数中用到 0~7共八个数码。一般地说,基数为R的计数制(简称R进制) 中,包含0、1、…、R-1个数码,进位规律为“逢R进1”。
df
第1章 数制与编码
(2)位权W(Weight):进位计数制中,某个数位的值是由这一位的数码值乘以处在这一位的固定常数决定的, 通常把这一固定常数称之为位权值,简称位权。各位的
位权是以R为底的幂。如十进制数基数R=10,则个位、十位、百位上的位权分别为100,101,102。 一个R进制数N,可以用以下两种形式表示: (1)并列表示法,或称位置计数法: (N)R=(K n-1 K n-2…K1K0K-1 K -2…K-m)R
df
第1章 数制与编码
(2)多项式表示法,或称以权展开式:(N)R=K n-1 R n-1+K n-2 R n-2+…+K1R1+K0R0+ K-1 R-1+…+K-m R-m= 其中:m、n为正整数,n代表整数部分的位数;m代 表 小 数 部 分 的 位 数 ; Ki 代 表 R 进 制 中 的 任 一 个 数i n 1
m
Ki R i
码,0≤Ki≤R-1。1.二进制数 二进制数,R=2,Ki取0或1,进位规律为“逢2进1”。 任一个二进制数N可表示为:
df
第1章 数制与编码
(N)2=K
n-1
2
n-1+K
n-2
2
n-2+…+K 21+K 20+K 2-1 1 0 -1
+…+K-m 2-m 1×2-1+0×2-2 2. 八进制数
(1― 1)
例 如 :(1001.101)2=1×23 + 0×22 + 0×21 + 1×20 +
八进制,R=8,Ki可取0~7共8个数码中的任意1个,进位 规律为“逢8进1”。任意一个八进制数N可以表示为: (N)8=K n-1 8 n-1+K n-2 8 n-2+…+K181+K080+
K-1 8-1+…+K-m 8-m
(1―2)
例如:(246.12)8=2×82+4×81+6×80+1×8-1+2×8-26
df
第1章 数制与编码
3.十六进制数十六进制数,R=16,Ki可取0~15共16个数码中的 任一个,但10~15分别用A、B、C、D、E
、F表示,进位 规律为“逢16进1”。任意一个十六进制数N可表示为: (N)16=K n-1 16 n-1+K n-2 16 n-2+…+K1161+K0160+ K-1 16-1+…+K-m 16 –m +10×16 -1 (1―3) 例如:(2D07.A)16=2×163+13×162+0×161+7×160
df
第1章 数制与编码
表1―1给出了以上3种进制数与十进制数的对应关系。为避免混淆,除用(N)R的方法区分不同进制数外,还 常用数字后加字母作为标注。其中字母B(Binary)表示
二进制数;字母Q(Octal的缩写为字母O,为区别数字0故写成Q)表示八进制数;字母D(Decimal)或不加字母表示 十进制数;字母H(Hexadecimal)表示十六进制数。
df
第1章 数制与编码
表1―1二、八、十、十六进制数码对应表
df
第1章 数制与编码
1.1.2 各种进制数间的相互转换1.各种进制数转换成十进制数 各种进制数转换成十进制数的方法是:将各进制数 先按权展成多项式,再利用十进制运算法则求和,即可得 到该数对应的十进制数。 例1: 将数1001.101B,246.12Q,2D07.AH转换为十进 制数。 1001.101B=1×23+0×22+0×21+1×20+1×21
+0×2-2+1×2-3=8+1+0.5+0.125=9.625
df
第1章 数制与编码
246.12Q=2×82+4×81+6×80+1×8-1+2×8-2=128+32+6+0.125+0.03125=166.15625 2D07.AH = 2×163 + 13×162 + 0×161 + 7×160 + 10×16-1 =8192+3328+7+0.625=11527.625
df
第1章 数制与编码
2.十进制数转换为二、八、十六进制数任一十进制数N转换成q进制数,先将整数部分与小 数部分分为两部分,并分别进行转换,然后再用小数点 将这两部分连接起来。 1)整数部分转换 整数部分转换步骤为: 第1步:用q去除N的整数部分,得到商和余数,记余 数为q进制整数的最低位数码K0;
df
第1章 数制与编码
第2步:再用q去除得到的商,求出新的商和余数,余数又作为q进制整数的次低位数码K1; 第3步:再用q去除得到的新商,再求出相应的商和余 数,余数作为q进制整数的下一位数码Ki; 第4步:重复第3步,直至商为零,整数转换结束。此时,
余数作为转换后q进制整数的最高位数码K n-1。
df
第1章 数制与编码
2|1682|84 余数0, K0=0 2|42 余数0, K1=0
2|21 余数0, K2=02|10 余数1, K3=1 2|5 余数0, K4=0 8|168
2|22|1 0
余数1, K5=1余数0, K6=0 余数1, K7=1
8|21余数0,8|2余数5, 0余数2 ,
K0=0K2=2
16|168
K1=516 16 |10余数8, K0=8 0 余数10,K1=A
168=10101000B
168=250Q
168=A8H
df
第1章 数制与编码
2)小数部分转换小数部分转换步骤为: 第1步:用q去乘N的纯小数部分,记下乘积的整数部 分,作为q进制小数的第1个数码K-1; 第2步:再用q去乘上次积的纯小数部分,得到新乘积
的整数部分,记为q进制小数的次位数码K-i;第3步:重复第2步,直至乘积的小数部分为零,或者达 到所需要的精度位数为
止。此时,乘积的整数位作为q进 制小数位的数码K-m。
df
第1章 数制与编码
例3: 将0.686转换成二、八、十六进制数(用小数点后5位表示)。0.686×2=1.372K-1=1 0.686×8=5.488K-1=5 0.686×16=10.976K-1=A
0.372×2=0.744K-2=00.744×2=1.488K-3=1 0.488×2=0.976K-4=0
0.488×8=3.904K-2=3 0.976×16=15.616K-2=F0.904×8=7.232K-3=7 0.616×16=9.856K-3=9 0.232×8=1.856K-4=1 0.856×16=13.696K-4=D
0.976×2=1.952K-5=10.686≈0.10101B
0.856×8=6.848K-5=6 0.696×16=11.136K-5=B0.686≈0.53716Q 0.686≈0.AF9DBH
下一篇:白芍总苷的生产工艺改进研究