单片机中数制与数制的转换是怎样算出来的?

单片机中数制与数制的转换是怎样算出来的?

1.数制

数制就是数的进位制。日常生活中经常会接触到0、7、8、9、168、295等这样的数字,它们的进位制为十进制。另外,还有二进制和十六进制等。

单片机中数制与数制的转换是怎样算出来的?

(1)十进制数

十进制数有以下特点。

① 有 10 个不同的数码:0、1、2、3、4、5、6、7、8、9。任意一个十进制数均可以由这 10个数码组成。

② 遵循“逢十进一”的计数原则。

对于任意一个十进制数N,它都可以表示成:

单片机中数制与数制的转换是怎样算出来的?

式中:m 和 n 为正整数;an−1,an−2,…,a−m称为数码;10 称作基数;10n−1,10n−2,…,10−m是各位数码的“位权”。

例如:根据上面的方法可以将十进制数 3259.46 表示为 3259.46=3×103+2×102+5×101+9×100+4×10−1+6×10−2。

(2)二进制数

十进制是最常见的数制,此外,还有二进制、八进制、十六进制等。在数字电路中,二进制用得最多。

1)二进制数的特点

二进制数有以下特点。

① 有两个数码:0和1。任何一个二进制数都可以由这两个数码组成。

② 遵循“逢二进一”的计数原则。

对于任意一个二进制数N,它都可以表示成:

单片机中数制与数制的转换是怎样算出来的?

式中:m和n为正整数;an−1,an−2,…,a−m称为数码;2称作基数;2n−1,2n−2,...,2−m是各位数码的“位权”。

例如:二进制数11011.01可表示为11011.01B=1×24+1×23+0×22+1×21+1×20+0×2−1+1×2−2。

注:为了说明数据为二进制数,一般在数据后加上“B”,十六进制数加上“H”。

2)二进制数的四则运算。

① 加法运算。加法运算的法则是:“逢二进一”。具体有:

单片机中数制与数制的转换是怎样算出来的?

当遇到“1+1”时向相邻高位进1。

例如:求1011B+1011B=?可以用与十进制数相同的竖式计算

单片机中数制与数制的转换是怎样算出来的?

即1011B+1011B=10110B

② 减法运算。减法运算的法则是:“借一当二”。具体有:

单片机中数制与数制的转换是怎样算出来的?

当遇到“0−1”时,需向高位借1当2用。

例如:求1100B−111B=?

单片机中数制与数制的转换是怎样算出来的?

即1100B−111B=101B

③ 乘法运算。乘法运算的法则是:“各数相乘,再作加法运算”。具体有:

例如:求1101B×101B=?

单片机中数制与数制的转换是怎样算出来的?

即1101B×101B=1000001B

④ 除法运算。除法运算的法则是:“各数相除,再作减法运算”。具体有:

单片机中数制与数制的转换是怎样算出来的?

例如:求1111B÷101B=?

单片机中数制与数制的转换是怎样算出来的?

即1111B÷101B=11B

(3)十六进制数

十六进制数有以下特点。

① 有16个数码:0、1、2、3、4、5、6、7、8、9、A、B、C、D、E、F。这里的A、B、C、D、E、F分别代表10、11、12、13、14、15。

② 遵循“逢十六进一”的计数原则。

对于任意一个十六进制数N,它都可以表示成:

单片机中数制与数制的转换是怎样算出来的?

式中:m 和 n 为正整数;an−1,an−2,…,a−m称为数码;16 称作基数;16n−1,16n−2,…,16−m是各位数码的“位权”。

例如:十六进制数3A6.DH可表示为3A6.DH=3×162+10×161+6×160+13×16−1。

单片机中数制与数制的转换是怎样算出来的?


分享到:


相關文章: