200 likes | 358 Views
大学计算机基础. 二、信息的表示与存储. 2.2 数制转换及其运算. 主要内容 1. 数的进位计数制 2. 不同进位计数制间的转换 3. 二进制、八进制、十六进制数间的转换 4. 二 — 十进制数. 我们先来看一个例子:十进制数 678.34 我们怎么能正确识别这个数呢? 根据每个数字所在的位置,我们可以判断数的大小。. 位权. 1. 数的进位计数制. 进位计数制定义: 进位计数制是一种数的表示方法,按进位的方法来计数。 采用位权表示法 ; 逢 r 进一。.
E N D
大学计算机基础 二、信息的表示与存储
2.2 数制转换及其运算 主要内容 1.数的进位计数制 2.不同进位计数制间的转换 3.二进制、八进制、十六进制数间的转换 4.二 — 十进制数
我们先来看一个例子:十进制数 678.34 我们怎么能正确识别这个数呢? 根据每个数字所在的位置,我们可以判断数的大小。 位权
1. 数的进位计数制 进位计数制定义: 进位计数制是一种数的表示方法,按进位的方法来计数。 采用位权表示法; 逢r进一。 基数:每种进位计数制都有自己基本的符号,若某种进位计数制中使用了r个符号(0,1,2,…,r -1),r称为该进位计数制的基数。 位权:进位制中基数的某次幂值称为“位权”。 任何一种进位计数制表示的数都可以写成按权展开的多项式之和
r进制 r进制数N可表示为: Nr=an-1×rn-1+……+a1×r1+ a0×r0+a-1×r-1+……+a-m×r-m 或 • 基数:r • rn-1,rn-2,…,r0,r-1,r-2,…r-m分别是某位的权 • 数码:0,1,2,…,r-1 r进制数N可以表示为:按权展开的多项式之和 即;该数各位的数码乘以所在位的权值的和。
(1)十进制数 数码 基数 位权 • 基数:10 • 102,101,100,10-1,10-2分别是数的百位、十位、个位、十分位、百分位的权 • 数码:0,1,2,3,4,5,6,7,8,9
二进制数按“权”展开的形式为: (2)二进制数 • 基数:2 • 2n-1,2n-2,…,20,2-1,2-2 …,2-m 分别是数某位的权 • 数码:0,1 用英文字母标识来标识进位制: 字母“D”代表十进制,“B”代表二进制, 字母“O”代表八进制,“H”代表十六进制。
(3)八进制数和十六进制数 二进制数书写位数多,难以记忆和识别,为了便于书写和记忆,常用八进制数或十六进制数作为二进制数的助记符形式。
(1) r进制数(非十进制数)转化成十进制数 各种进位制转换为十进制的方法:分别写出二进制数、八进制数和十六进制数的按权展开式,计算所得的值,即为转换后的十进制数。 2. 不同进位计数制间的转换 其中:ai 为系数(数码) r为基数 n为项数
举例 例2.5:(10101)2 = =1×24+0 ×23+1 ×22+0 ×21+ 1×20 = 24 +22+1=(21)10
举例 例2.6: (3506.2) 8 = = 3×83+5×82 +0×81 + 6 ×80 +2× 8-1 = 1536+320+6+0.25 = (1862.25)10 例2.7:(A3E.5)16= = 10×162+3×161+14×160+5×16-1 = 2560+48+14+0.31 = (2622.31)10
(2) 十进制数转化成r进制数 方法:分整数和小数两部分分别处理。 整数部分:除以r取余数,直到商为0,余数从右到左排列 (除r取余,逆序排列) 小数部分:乘以r取整数,整数从左到右排列。 (乘r取整,顺序排列)
2 100 2 50 0 0.23 × 2 0.46 × 2 0.92 × 2 1.84 × 2 1.68 25 0 2 12 1 2 2 6 0 3 0 2 2 1 1 1 0 例2.8 将(100.23)10 化为二进制。 结果为:(100.23)10 =(1100100.0011)2
八进制 8 100 8 12 4 8 1 4 1 0 十六进制 16 100 6 4 16 0 6 例2.9:将(100)10分别化为八进制和十六进制数。 结果为: (100)10 =(144)8=(64)16 结论: 由十进制转换到r进制,可以把小数点作为分隔点,对于其整数部分和小数部分分别进行转换,然后再组合起来。
3. 二进制、八进制、十六进制数间的转换 每3位二进制对应一位八进制数
每4位二进制对应一位十六进制数 15 =8+4+2+1 =(1111)2 11 =8+0+2+1 =(1011)2 6 =0+4+2+0 =(0110)2
二进制转化成八(十六)进制 • 整数部分:小数点为基准从右向左按三(四)位进行分组 • 小数部分:小数点为基准从左向右按三(四)位进行分组 • 不足补零 例2.10 将二进制数10110011.10101转换为八进制数。 010110011.101010(B)= 263.52(O) 2 6 3 5 2 (高位和低位各补1个0) 例2.11 将二进制数1011010101.101011转换为十六进制数。 001011010101.10101100(B)=2D5.AC(H) 2 D 5 A C (高位和低位各补2个0)
八(十六)进制转换为二进制 将八进制数转换为二进制数:只需将1位八进制数转为3位二进制数; 将十六进制数转换为二进制数:只需将1位十六进制数转为4位二进制数. 例2.12 将八进制数(6415.64)8转换为二进制数。 (6415.64)8=(110100001101.110100 )2 6 4 1 5 . 6 4 例2.13 将十六进制数(6A1D.C4)16转换为二进制数。 (6A1D.C4)16=(0110101000011101.11000100 )2 6 A 1 D . C 4
日常习惯使用十进制,为了让计算机能够识别、存储十进制数,向计算机输入数据时仍采用十进制。日常习惯使用十进制,为了让计算机能够识别、存储十进制数,向计算机输入数据时仍采用十进制。 计算机先将十进制按位编码,每位十进制对应4位二进制表示,计算机自动将其转换为二进制数,这种编码称为BCD编码(又称 8421码)。 主要用途帮助计算机自动实现十进制向二进制相互转换。 BCD码取10种状态表示十进制数码0~9.既具有二进制的形式,又具有十进制的特点,逢“十”进位。 4.二--十进制数(BCD码)
二--十进制数(BCD码) (75.4)D =(0111 0101.0100)BCD (1000 0101.0101)BCD =( 85.5)D BCD码与二进制之间的转换不能直接进行,应先转换为十进制后再转换为二进制。