工控产品?进制转换了解一下

初学PLC的同学可能还是不了解数据的转换,通俗的讲就是电信号只能识别0和1,但是我们在生活中用的最多的就是阿拉伯数字,这些数字就是十进制的,逢十进一,但是在工业产品里比如PLC,就不能识别阿拉伯数字,那么我们想要控制自动化设备怎么办,只能将我们常用的十进制转换为2进制数0和1,这样输入到PLC里面,就能够识别到。今天小编详细的介绍一下进制的转换。

学习PLC/工控产品?进制转换了解一下


一、什么是进位计数制

数制也称计数制,是指用一组固定的符号和统一的规则来表示数值的方法。按进位的原则进行计数的方法,称为进位计数制。比如,在十进位计数制中,是按照“逢十进一”的原则进行计数的。

常用进位计数制:

1、十进制(Decimal notation),有10个基数:0 ~~ 9 ,逢十进一;

学习PLC/工控产品?进制转换了解一下


2、二进制(Binary notation),有2 个基数:0 ~~ 1 ,逢二进一;

学习PLC/工控产品?进制转换了解一下


3、八进制(Octal notation),有8个基数:0 ~~ 7 ,逢八进一;

学习PLC/工控产品?进制转换了解一下


4、十六进制数(Hexdecimal notation),有16个基数:0 ~~ 9,A,B,C,D,E,F (A=10,B=11,C=12,D=13,E=14,F=15) ,逢十六进一。

学习PLC/工控产品?进制转换了解一下


二、进位计数制的基数与位权

"基数"和"位权"是进位计数制的两个要素。

1、基数:

所谓基数,就是进位计数制的每位数上可能有的数码的个数。例如,十进制数每位上的数码,有"0"、"1"、"3",…,"9"十个数码,所以基数为10。

2、位权:

所谓位权,是指一个数值的每一位上的数字的权值的大小。例如十进制数4567从低位到高位的位权分别为100、101、102、103。因为:

4567=4x103+5x 102+6x 101 +7x100

3、数的位权表示:

任何一种数制的数都可以表示成按位权展开的多项式之和。

比如:十进制数的435.05可表示为:

435.05=4x102+3x 101+5x100+0x10-1 +5x 10-2

位权表示法的特点是:每一项=某位上的数字X基数的若干幂次;而幂次的大小由该数字所在的位置决定。

学习PLC/工控产品?进制转换了解一下


三、二进制数

计算机中为何采用二进制:二进制运算简单、电路简单可靠、逻辑性强。

1、定义:

按“逢二进一”的原则进行计数,称为二进制数,即每位上计满2 时 向高位进一。

2、特点:

每个数的数位上只能是0,1两个数字;二进制数中最大数字是1,最小数字是0;基数为2;

比如:10011010与00101011是两个二进制数。

3、二进制数的位权表示:

(1101.101)2=1x23+1x 22+0x 21+1x 20+1x2-1 +0x 2-2+1x2-3

4、二进制数的运算规则:

加法运算

① 0+0=0 ③ 1+1=10

② 0+1=1+0=1

乘法运算

① 0×0=0 ③ 1×1=1

② 0×1=1×0=0

四、八进制数

1、定义:

按“逢八进一”的原则进行计数,称为八进制数,即每位上计满8时向高位进一。

2、特点:

每个数的数位上只能是0、1、2、3、4、5、6、7八个数字;八进制数中最大数字是7,最小数字是0;基数为8;

比如:(1347)8与(62435)8是两个八进制数。

3、八进制数的位权表示:

(107.13)8=1x 82+0x 81+7x 80+1x8-1 +3x 8-2

五、十六进制数

1、定义:

按“逢十六进一”的原则进行计数,称为十六进制数,即每位上计满16时向高位进一。

2、特点:

每个数的数位上只能是0、1、2、3、4、5、6、7、8、9、A、B、C、D、E、F十六个数码;十六进制数中最大数字是F,即15,最小数字是0;基数为16;

比如:(109)16与(2FDE)16是两个十六进制数。

3、十六进制数的位权表示:

(109.13)16=1x 162+0x161+9x 160+1x16-1 +3x 16-2

(2FDE)16=2x 163+15x 162+13x 161+14x 160

六、常用计数制间的对应关系

二进制数、八进制数、十六进制数及十进制数是现代数字系统中常用的四种数制,这几种进位制计数制之间的对应关系如表1所列。

表1 常用计数制数的表示方法

十进制数

二进制数

八进制数

十六进制数

0 0 0 0

1 1 1 1

2 10 2 2

3 11 3 3

4 100 4 4

5 101 5 5

6 110 6 6

7 111 7 7

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

16 10000 20 10

17 10001 21 11

18 10010 22 12

19 10011 23 13

20 10100 24 14

32 100000 40 20

50 110010 62 32

60 111100 74 3C

64 1000000 100 40

100 1100100 144 64

255 11111111 377 FF

1000 1111101000 1750 3E8

七、数制间的转换

1、十进制数转换成非十进制数

(1)十进制整数转换成非十进制整数

为什么要进行数制间的转换?

将数由一种数制转换成另一种数制称为数制间的转换。

因为日常生活中经常使用的是十进制数,而在计算机中采用的是二进制数。所以在使用计算机时就必须把输入的十进制数换算成计算机所能够接受的二进制数。计算机在运行结束后,再把二进制数换算成人们所习惯的十进制数输出。这两个换算过程完全由计算机自动完成。

转换方法

十进制整数化为非十进制整数采用“余数法”,即除基数取余数。

把十进制整数逐次用任意十制数的基数去除,一直到商是0 为止,然后将所得到的余数由下而上排列即可。

十进制小数转换成非十进制小数转换方法

十进制小数转换成非十进制小数采用“进位法”,即乘基数取整数。

把十进制小数不断的用其它进制的基数去乘,直到小数的当前值等于0或满足所要求的精度为止,最后所得到的积的整数部分由上而下排列即为所求。

2、非十进制数转换成十进制数

非十进制数转换成十制数采用“位权法”,即把各非十进制数按位权展开,然后求和。

3、二、八、十进制数之间转换

(1)二进制 数与八进制数之间的转换转换方法

把二进制数转换为八进制数时,按“三位并一位”的方法进行。

以小数点为界,将整数部分从右向左每三位一组,最高位不足三位时,添0补足三位;小数部分从左向右,每三位一组,最低有效位不足三位时,添0补足三位。然后,将各组的三位二进制数按权展开后相加,得到一位八进制数。

将八进制数转换成二进数时,采用“一位拆三位”的方法进行。

即 把八进制数每位上的数用相应的三位二进制数表示。

二进制数与十六进制数之间的转换转换方法

a、把二进制数转换为十六进制数时,按“四位并一位”的方法进行。

以小数点为界,将整数部分从右向左每四位一组,最高位不足四位时,添0补足四位;小数部分从左向右,每四位一组最低有效位不足四位时,添0补足四位。然后,将各组的四位二进制数按权展开后相加,得到一位十六进制数。

b、将十六进制数转换成二进数时,采用“一位拆四位”的方法进行。

即 把十六进制数每位上的数用相应的四位二进制数表示。

了解这些数据后再学习PLC编程会轻松很多。学习的路上很艰辛,每天学习一点,日积月累总有学会的一天,后期继续给大家分享PLC机器人知识。


分享到:


相關文章: