数制转换及运算 主要内容 二、八、十六进制的表示 二、八、十六进制与十进制间的转换 二进制运算(算术运算和逻辑运算)
1. 进位计数制 1 0 1 0 0 1 0 1 在计算机内部,无论是什么信息,采用的都是二进制,原因: 1. 进位计数制 在计算机内部,无论是什么信息,采用的都是二进制,原因: (1)在电子元件中容易实现:灯亮表示1,灯灭表示0 1 0 1 0 0 1 0 1 (2)二进制数运算简单,使计算机运算器的硬件结构大大简化。如二进制加法有四条规则: 0+0=0 0+1=1 1+0=1 1+1=0(进位1) 此外,二进制减法、乘法和除法均有4条运算规则
(3)逻辑性:由于二进制0和1正好和逻辑代数的假(false)和真(true)相对应,用二进制表示二值逻辑很自然。为计算机实现逻辑运算和程序中的逻辑判断提供了便利的条件。 (4)通用性强:既可成功应用于数值信息编码 又可适应许多非数值信息的数字化编码 (5)可靠性高:状态简单,抗干扰能力强
基r数制:采用r个基本符号并且按照逢R进一的规则计数的数制。 r称为该数制的 “基数”。 数制是用一组固定的数字和一套统一的规则来表示数目的方法。有非进位计数制和进位计数制之分。 表示数值大小的数码与它在数中位置无关的数制称为非进位计数制。如:罗马数字II表示2,VIII表示8,XII表示12。 按照进位方式计数的数制叫进位计数制。 基r数制:采用r个基本符号并且按照逢R进一的规则计数的数制。 r称为该数制的 “基数”。 数制中每一固定位置对应的单位值称为 “位权”, 简称“权”, 其大小是以基数为底、数码所在位置的序号 为指数的整数次幂。
十进制的个位数位置的位权是100,十位数位置上的位权为101,小数点后1位(十分位)的位权为10-1 …… 二进制:0、1 基数 2,逢二进一 八进制:0、1、2、3、4、5、6、7 基数8,逢八进一 十进制:0、1、2、3、4、5、6、7、8、9 基数10,逢十进一 十六进制:0~9,A、B、C、D、E、F 基数16,逢十六进一 十进制的个位数位置的位权是100,十位数位置上的位权为101,小数点后1位(十分位)的位权为10-1 …… 二进制数小数点左边(自右向左)各个位的位权分别是: 20、21、22 ……, 小数点右边(自左向右)各个位的位权分别是: 2-1、2-2、2-3…… 一个数码处在不同位置上所代表的值不同,如数字6在十位数位置上表示60,在百位数上表示600,而在小数点后1位表示0.6。
678.34=6×102+7×101+8×100 +3×10-1+4×10-2 数码(系数) 基数 权 小数点左边:从右向左,每一位对应权值分别为100、101、102 小数点右边:从左向右,每一位对应的权值分别为10-1、10-2 10101.01=1×24+0×23+1×22+0×21+1×20+0×2-1+1×2-2 小数点左边:从右向左,每一位对应的权值分别为20、21、22、23、24 小数点右边:从左向右,每一位对应的权值分别为2-1、2-2
任何一个r进制数 N=an-1 an-2…… a0 a-1 a-m 可按权展开 为: N=an-1×rn-1+an-2×rn-2+…+a0×r0+a-1×r-1+…+a-m×r-m
2. 不同进位计数制间的转换 r 进制转化成十进制 例: (10101)B=1×24+1×22+1×20=(21)D 2. 不同进位计数制间的转换 r 进制转化成十进制 方法:数码乘以各自的权的累加 例: (10101)B=1×24+1×22+1×20=(21)D (101.11)B=22+1+2-1+2-2=(5.75)D (101)O=82+1=(65)D (71)O=781+1=(57)D (101A)H=163+161+10=(4122)D 进制符号 B 二进制 O八进制 D十进制 H十六进制
十进制转化成 r 进制 1100100.01011 整数部分:除以 r取余数,直到商为0,余数从右到左排列。 ~ 例 (100.345)D=( )B 1100100.01011 1.380 1.04 0.345 2 0.690 0.760 1.520 高 低 100 2 50 25 12 6 3 1 低 高 十进制转换成二进制:整数部分除2取余,小数部分乘2取整
十进制转化成 r 进制 (100.25)D=( )O=( )H 144.2 64.4 八进制 100 8 12 1 4 16 6 十六进制 4 16 6 十六进制 0.25 2.00 150 25 4.00 十进制转换成八进制:整数部分除8取余,小数部分乘8取整 十进制转换成十六进制:整数部分除16取余,小数部分乘16取整
二进制、八进制、十六进制数间的相互转换 一位八进制数对应三位二进制数 81=23 八进制转换成 二进制 将每位八进制数码用相应的三位二进制数码代替。 二进制转换成八进制 将每三位二进制数(以小数点为界左右分组)用相应的一位八进制数码代替。 (144.1)O=(001 100 100.001)B 1 4 4 . 1 (1 101 101 110.110 101)B= (1556.65)O 1 5 5 6 . 6 5 左补0
二进制、八进制、十六进制数间的相互转换 将每位十六进制数码用相应的四位二进制数码代替。 二进制转换为十六进制 一位十六进制数对应四位二进制数 161=24 十六进制转换成二进制 将每位十六进制数码用相应的四位二进制数码代替。 二进制转换为十六进制 将每四位二进制数(以小数点为界左右分组)用相应的一位十六进制数码代替。 (64.5)H=(0110 0100.0101)B 6 4 . 5 (11 0110 1110.1101 01)B=(36E.D4)H 3 6 E . D 4 右补0
二进制、八进制、十六进制数间的关系 八进制 对应二进制 十六进制 000 0000 8 1000 1 001 0001 9 1001 2 010 0010 A 1010 3 011 0011 B 1011 4 100 0100 C 1100 5 101 0101 D 1101 6 110 0110 E 1110 7 111 0111 F 1111
(245.67)D=( )B =( )O =( )H 11110110.101 366.527 F6.AB8
3. 二进制数的算术运算 1101 + 1110 11011 11011 - 1110 1101 ⑴ 二进制数的加法运算 3. 二进制数的算术运算 ⑴ 二进制数的加法运算 加法运算法则 0+0=0 0+1=1+0=1 1+1=0 1101 + 1110 11011 ⑵ 二进制数的减法运算 减法运算法则 0-0=1-1=0 1-0=1 0-1=1 11011 - 1110 1101
⑶ 二进制数的乘法运算 ⑷ 二进制数的除法运算 除法运算法则 0÷0=0 0÷1=0 1÷1=1 乘法运算法则 0×0=0 0×1=1×0=0 1×1=1 1101 × 1010 0000 + 1101 10000010 101 1011 111011 1011 1111 100
在算术运算中,二进制加法是最基本的运算;减法实际上是加负数来实现,应用补码运算;而乘法、除法则通过加、减和移位运算来实现。
4. 二进制数的逻辑运算 逻辑运算是一种研究因果关系的运算,运算结果不表示数值大小,而是表示逻辑概念。 4. 二进制数的逻辑运算 逻辑运算是一种研究因果关系的运算,运算结果不表示数值大小,而是表示逻辑概念。 二进制数1、0在逻辑运算中分别代表真与假、是与非、成立与不成立。当要对多个事件进行判断时,要用逻辑运算符连接起来。 真值表——操作数的各种组合列成的表格。
二进制数的逻辑运算 逻辑非的真值表 逻辑非运算 A F = A 1 逻辑与的真值表 A B F = A×B 逻辑与 (逻辑乘)运算 1 1 运算符 逻辑与的真值表 A B F = A×B 1 逻辑与 (逻辑乘)运算
逻辑或 (逻辑加)运算 运算符 逻辑或的真值表 A B F = A+B 1