1.2 单片机中的数制转换(课件)-《单片机技术与应用》(高教版第二版) 同步精品课堂
|
26页
|
238人阅读
|
1人下载
精品
内容正文:
单片机技术与应用
-第2课时-
高教版第二版
单片机中的数制转换
教学目标
掌握常用数制(十进制、二进制、八进制、十六进制)的对照表
学会二进制数与十进制数之间的相互转换方法
掌握十进制整数和小数分别转换为二进制数和十六进制数的方法
熟练运用二进制数与八进制数、十六进制数之间的相互转换规则
教学重难点
理解各种转换方法的原理和规则
不同数制之间的转换方法。
进制数与八进制数、十六进制数相互转换时的分组和补位规则
让我们一起开启单片机的学习之旅。
导入新课
在单片机实际应用中,数制转换是常见的数据处理需求
请同学们想一想,电源《孤注一掷》中演员张艺兴为什么比手势6,同伴就报警了?
单片机中的数制是如何转换的?
让我们一起开启单片机的学习之旅。
新知讲授
十进制:
十进制是Decimal,简写为D
都是以0-9这九个数字组成。
单片机中的数制转换 - 进制的特点回顾
二进制:
二进制是Binary,简写为B
由0和1两个数字组成
十进制:
八进制是Octal,简写为O
由0-7数字组成,开头都是以0开始。
新知讲授
十六进制:
十六进制为Hexadecimal,简写为H
表示方式为0x开头
计数到F后,再增加1个,就进位。
由0-9和A-F组成,英文字母A,B,C,D,E,F分别表示数字10~15
单片机中的数制转换 - 进制的特点回顾
1 2 3 4 5 6 7 8 9 A B C D E F
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
新知讲授
不同数制之间的转换
在单片机的应用中需要进行不同数制之间的转换,常用的数制对照表见下表
单片机中的数制转换 - 不同数制之间的转换
十进制(D) 二进制(B) 八进制(0) 十六进制(H)
0 0000 0 0
1 0001 1 1
2 0010 2 2
3 0011 3 3
4 0100 4 4
5 0101 5 5
6 0110 6 6
7 0111 7 7
新知讲授
不同数制之间的转换
在单片机的应用中需要进行不同数制之间的转换,常用的数制对照表见下表
单片机中的数制转换 - 不同数制之间的转换
十进制(D) 二进制(B) 八进制(0) 十六进制(H)
8 1000 10 8
9 1001 11 9
10 1010 12 A
11 1011 13 B
12 1100 14 C
13 1101 15 D
14 1110 16 E
15 1111 17 F
新知讲授
二进制数转换成十进制数
二进制数转换成十进制数的方法是按权展开再相加。例如:
将整数部分从左往右逐位进行的降幂继续延伸至小数点以后,即小数点后第一位对应,小数点后第二位对应,而后将每个数位上的数字与该数位对应的2的幂相乘,求和。
例如:二进制数对应数值在十进制中则为
小数转换
单片机中的数制转换 - 不同数制之间的转换
同理,若要将其他进制数转换成十进制数,只需将数(N)R 按权展开再相加。
新知讲授
十进制数转换成二进制数
十进制整数转换成二进制整数的方法有很多种,最常用的是“除2取余倒记法”。
例如,试将十进制数57转换成二进制数。
单片机中的数制转换 - 不同数制之间的转换
(57)10=(a5a4a3a2a1a0)₂=(111001)₂
新知讲授
十进制小数转换成二进制小数
十进制小数转换成二进制小数通常采用“乘2取整正记法”。
例如,将(0.724)10转换成二进制小数。
单片机中的数制转换 - 不同数制之间的转换
(0.724)10=(a5a4a3a2a1a0)₂≈(0.1011)₂
新知讲授
十进制整数转换成十六进制整数
与十进制整数转换成二进制整数相似,十进制整数转换成十六进制整数通常采用“除16 取余倒记法”,其规则是用16连续去除要转换的十进制整数,直到商数小于16为止,然后把 各个余数倒序排列,所得到的数便是相应的十六进制数。
例如,796D 转换成十六进制数为: 796D=31C。
单片机中的数制转换 - 不同数制之间的转换
(796)10=(31C)16
(2)小数部分
0.68* 16=10.88 –>a(即十进制中的10)
0.88* 16=14.08 –>e
0.08* 16=1.28 –>1
已经达到了要求的精度,顺序输出为:ae1
则:25.68D –>19.ae1H
新知讲授
十进制小数转换成十六进制小数
方法类似于十进制小数转换成二进制小数,通常采用“乘16取整正记法”,其规则是用 16连续去乘要转换的十进制小数,直到乘积的小数部分为0或达到所需要的精度为止,然后把整数按顺序排列,即可得到十六进制数。
例题: 25.68D = ______ H(精确到小数点后3位)
单片机中的数制转换 - 不同数制之间的转换
(1)整数部分
25/16=1 –>9
1/16=0 –>1
倒序输出为:19
(2)小数部分
0.68* 16=10.88 –>a(即十进制中的10) 0.88* 16=14.08 –>e
0.08* 16=1.28 –>1
顺序输出为:ae1
答案:25.68D –>19.ae1H,小数部分转换原理都是乘进制数取整数部分,再将整数部分顺序输出。
新知讲授
八进制数、十六进制数之间的相互转换
八进制数和十六进制数的基数分别为8=2³,16=2⁴,所以3位二进制数恰好对应1位八 进制数,4位二进制数对应1位十六进制数,这两者之间的转换可以借助十进制或者二进制完成,可以先将八进制转换成十进制或二进制,再转换成十六进制。通过间接转换来实现。它们之间的相互转换是很方便的。
例如,154Q 转换成十六进制数为: 154Q=6CH。
单片机中的数制转换 - 不同数制之间的转换
( 154)8=(6C)16
八进制转换成3位二进制
3位二进制划分为4位二进制数
4位二进制数转化为十六进制数
新知讲授
二进制数转换成八进制数
二进制数转换成八进制数的方法是“3位合1位法”,其规则是从小数点开始,分别向左、 向右,将二进制数按每3位1组分组(不足3位的补0),然后写出与每一组二进制数对应的 八进制数。
例如,将(10110110)₂转换成八进制数:
单片机中的数制转换 - 不同数制之间的转换
所以(10110110)₂=(266)₈
新知讲授
二进制数转换成十六进制数
二进制数转换成十六进制数的方法和二进制数转换成八进制数的方法相似,采用“4位合 1位法”,其规则是从小数点开始分别向左、向右将二进制数按每4位1组分组(不足4位补 0),然后写出与每一组二进制数对应的十六进制数。
例如,将(1010110)₂转换成十六进制数:
单片机中的数制转换 - 不同数制之间的转换
所以(1010110)₂=(56)16
新知讲授
八进制转二进制
八进制数通过除2取余法,得到二进制数,对每个八进制为3个二进制,不足时在最左边补零。
例如,将(226)8 转换成二进制数:
单片机中的数制转换 - 不同数制之间的转换
所以(226)8 =(100010110)₂
新知讲授
十六进制转二进制
十六进制数通过除2取余法,得到二进制数,对每个十六进制为4个二进制,不足时在最左边补零。
例如:A3C7。
将十六进制数每一位分解出来查找每个十六进制数字对应的四位二进制数,例如:A=1010,3=0011,C=1100,7=0111。
按照位置分别将每个二进制数相连得到完整的二进制数
如果需要进行补零操作,则在最左侧添加足够数量的零,直至达到目标位数。
单片机中的数制转换 - 不同数制之间的转换
所以(A3C7)16=(1010001111000111)₂
随堂检测1
26Q = ______ D
答案:22D
23daH = ______ D
答案:9178D
练一练
随堂检测2
1001 0110B = ______ D
答案:150D
(67)10 = (______)2
答案:1000011
练一练
随堂检测3
26Q = ______ D
答案:22D
23daH = ______ D
答案:9178D
练一练
随堂检测4
758D= ______ Q
答案:1366Q
951D = ______ H
答案:3B7H
练一练
随堂检测5
阐述二进制数与八进制数、十六进制数之间相互转换的方法。
答案:二进制数转换成八进制数:采用 “3 位合 1 位法”,其规则是从小数点开始,分别向左、向右,将二进制数按每 3 位 1 组分组(不足 3 位的补 0),然后写出与每一组二进制数对应的八进制数。
二进制数转换成十六进制数:采用 “4 位合 1 位法”,其规则是从小数点开始分别向左、向右将二进制数按每 4 位 1 组分组(不足 4 位补 0),然后写出与每一组二进制数对应的十六进制数。
八进制数、十六进制数转换成二进制数:采用 “1 位拆 3 位或 4 位法”,将每 1 位八进制数(或十六进制数)用相应的 3 位(或 4 位)二进制数代替即可。
练一练
师生互动
1
探讨在实际编程中,如何高效地实现不同数制之间的转换,有哪些优化的方法和技巧。
课题小结
1. 进制的特点回顾
单片机中的数制转换
2. 十进制数转与二进
制数和十六进制数转换
十进制
二进制
八进制
十六进制
二进制数转换成十进制数
十进制整数转换成二进制整数
十进制小数转换成二进制小数
十进制整数转换成十六进制整数
十进制小数转换成十六进制小数
3. 十二进制数与八进制数、十六进制数之间的相互转换
谢谢观看
THANKS
$