如下图所示
第1个 413 的整数是怎么换算来的
图片说明:
最佳答案
主要要理解负整数在 PLC 中是以补码方式表示的。
负数的补码计算方式为:
1、先把其数学绝对值,用二进制表示出来
2、所有位取反。
3、取反后的值加1
解析:
1、以负数 - 413 为例,其数学绝对值为 +413,再将数学绝对值转换为二进制为:
0000 0001 1001 1101 数学绝对值
1111 1110 0110 0010 按位取反
1111 1110 0110 0011 取反后的数+1,这就是你看到的第一行数,这三步是由PLC 的操作系统来完成的,这串码的最高位为 1 ,CPU就从这一位知道它是一个负数。
2、执行 ITB ,将 -413 转换成 BCD 码,什么是 BCD 码?就是每一个十进制位用 4 位二进制码表示。
过程为:
1111 1110 0110 0011 -413 的补码,要知道它是个负整数
0000 0001 1001 1100 按位取反
0000 0001 1001 1101 取反后的数+1,这是其表示的数学绝对值 413。+413的 BCD 码为:
0000 0100 0001 0011
+ 4 1 3
因其转换前为负数,则上面一行的高 4 位要加上BCD码的符号位 1111。则为:
1111 0100 0001 0011
- 4 1 3
3、这些过程都是 CPU 的操作系统来完成的,找一些数制方面资料看看,一般计算机原理之类的书籍的前半部分都有数制换算的介绍。
提问者对于答案的评价:
感谢您细的解答!有解决了一个纠结的问题!
原创文章,作者:ximenziask,如若转载,请注明出处:https://www.zhaoplc.com/plc352900.html