- 课程名称:嵌入式工程师
- 学习章节:数据进制的转换
- 学习链接:https://class.imooc.com/sc/148/learn
- 讲师姓名:大白老师
课程内容:
进制
概念
我们可以使用有限的数字符号来代表所有的数值。可使用数字符号的数目,我们称为为基数。基数为n,则为n进制。
十进制数123,基数为10.我们可以只用0~9这是个数组符号。
3---------->位权为1(即10的0次方)
2---------->位权为10(即10的1次方)
1---------->位权为100(即10的二次方)
123 = 1 * 10的2次方 + 2 * 10的1次方 + 3 * 10的0次方
常用进制介绍
十进制
可用的数字符号: 0-9
基数:10
特点:逢十进一
八进制
可使用的数字符号:0,1,2,3,4,5,6,7
基数:8
特点:逢八进一
二进制
可使用的数字符号:0,1
基数:2
特点:逢二进一
十六进制
可使用的数字符号:0,1,2,3,4,5,6,7,8,9,a,b,c,d,e,f
基数:16
特点:逢十六进一
常用进制转换
转十进制
方法
将相应进制的数按位权展开成多项式,求十进制的和
示例
二进制转十进制
讲解
比如二进制事10110转十进制就倒过来01101分别乘以2的n次方然后相加
八进制转10进制也是一样,倒过来分别乘以8的n次方然后相加
遇见小数是从左到右,分别是-1,-2次方,比如0.65,6乘以n的-1次方加5乘以n的-2次方
十进制转其他进制
常规转换
整数部分转换
除基取余法:用我们的十进制数去除以我们目标的基数,第一次相除所得余数为目的数的最低位, 将所得商再除以基数,反复执行上述过程,直到商为“0”,所得余数为目的数的最高位。
比如转换二进制,十进制就一直除以2然后把余数从下往上倒着写
注意2除以2是=1还要再进行一次除基
小数部分转换
乘基取整法:用小数乘以目标数值的基数,第一次相乘结果的整数部分为目的数的最高位,
将其小数部分再乘基数依次记下整数部分,反复进行下去,直到小数部分
为“0”,或满足要求的精度为止。
示意图
高效转换8421法
介绍
8421码是一种用4位二进制码的组合代表1位十进制数的编码
二进制转10进制
十进制数 8421BCD码
0 0000
1 0001
2 0010
3 0011
4 0100
5 0101
6 0110
7 0111
8 1000
9 1001
10进制转2进制
位 二进制位位权 数值
0 2^0 1
1 2^1 2
2 2^2 4
3 2^3 8
4 2^4 16
5 2^5 32
6 2^6 64
7 2^7 128
8 2^8 256
使用方法
把一个十进制数拆分位上述右边的数值相加
然后把二进位从高到列排列。若是用到了对应的数值,二进制位设置为1,否则设置为0
书写完毕后,对应的二进制位排列就是该十进制转换为二进制的值。
示例
题目:求十进制200对应的二进制数。
位 7 6 5 4 3 2 1 0
数值 128 64 32 16 8 4 2 1
200 = 128 + 64 + 8
128,64,8对应的位是1
其余的全是0
位 7 6 5 4 3 2 1 0
二进制位 1 1 0 0 1 0 0 0
其他进制转换
规则
一个八进制可以转换为三个二进制数。
一个十六进制数可以转换为四个二进制数。
八转二
八进制 二进制
0 000
1 001
2 010
3 011
4 100
5 101
6 110
7 111
十六转二
十六进制 二进制 十六进制 二进制
0 0000 8 1000
1 0001 9 1001
2 0010 a 1010
3 0011 b 1011
4 0100 c 1100
5 0101 d 1101
6 0110 e 1110
7 0111 f 1111
学习收获:
进制之间转换要熟悉 8421码这个方法比较好用
除基取余法也要注意 2%2=1,1还可以除以2这点容易犯错
截图打卡:
共同学习,写下你的评论
评论加载中...
作者其他优质文章