前言:
此时同学们对“浮点数转16进制代码”都比较关注,朋友们都想要分析一些“浮点数转16进制代码”的相关内容。那么小编同时在网摘上搜集了一些有关“浮点数转16进制代码””的相关资讯,希望朋友们能喜欢,咱们一起来了解一下吧!1.3.2 数制转换与数据类型
(1)数制
十进制数:1,15, 123, 2000, 34567 (日常生活,工作中应用的数据类型);
二进制数:2#1011, 2#1110, 2#1111100011100101 (CPU就是通过2进制方式进行数据处理的,PLC处理位更方便)。
十六进制:16#100, 16#1A1B, 16#8C1122EF(十六进制更简短,因为换算的时候一位16进制数可以代替4位2进制数)。
a.不同进制数值的本质是一样的,都是为了表达一个数据值,只是显示的形式不一样而已,就如:水,冰,水蒸气一样。
b.10进制数用于最终的显示,计算等,程序编制中的大部分运算也是用10进制数。
c.计算机使用二进制格式处理数据(PLC也是),但是过长的数字代码对人的阅读造成了较大的障碍,为了解决这一问题,才使用十六进制来表示二进制,4位二进制数用1位十六进制数就可以表示,例如一个16位的二进制数1111 1111 1111 1111用十六进制FFFF就可以表示了。在PLC编程应用中大部分数据值还是用10进制格式表达的。
2进制,10进制,16进制的关系与区别,如表1-3所示:
表1-3 进制转换
十进制
二进制
十六进制
0
0000
0
1
0001
1
2
0010
2
3
0011
3
4
0100
4
5
0101
5
6
0110
6
7
0111
7
8
1000
8
9
1001
9
10
1010
A
11
1011
B
12
1100
C
13
1101
D
14
1110
E
15
1111
F
(2)数制间的转换方法
以10进制数100为例:
a.100的10进制数表达是100(逢10进1,本位归0, 99个位是9,再加1就是10,所以进1,本位变0,十位又是10,所以本位也为0同时进位1,最终99加1的结果为100,100=(个位)0*10的0次方+(十位)0*10的1次方+(百位)1*10的2次方=0+0+100=100)。
如图1-19所示:
当把100存入寄存器D0中数据是如何转换的,如图1-20所示:
(3)数据类型
三菱数据类型分为整数K,十六进制数H、实数E(浮点数),组合位数据K2Y0,它们可以作为的定时器和计数器的设定值及当前值、或是应用指令的操作数。
在这里需要注意的是,三菱的数据寄存器D默认为一个16位数据长度,其取值范围为(无符号0~65535/有符号-32768~+32767);
若是存储数据为32位数据长度,需要组合2个数据寄存器来存储,因此应用指令在处理32位数据时需要在指令前加“D”。
实数E本身占用32位的数据长度,因此在做浮点数运算时,指令前要加“DE”,如DEDIV、DEMOV。