整数转换BCD

如下图所示
第1个  413 的整数是怎么换算来的

图片说明:

整数转换BCD   

最佳答案

主要要理解负整数在 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

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2021年7月5日 上午1:23
下一篇 2021年7月5日 上午1:23

相关推荐

发表回复

登录后才能评论