带符号数的减法运算

在做模拟量采集的程序,为了增加稳定性而用求多次采样值的平均值。模拟输入是12位采样,计算中,如果采样次数大于16次就有可能和的长度大于一个字,故需要用双字来存储采样和。这时需要把输入转换成32位。我看了一个例程,当输入值为负值时,最高有效字增添1,当输入值为正值时,最高有效字增添0.之后就直接把输入值和原有的采样和做加法运算。我的问题是,当输入值是负值时,PLC是如何做的运算,使之可以用加法代替。我自己算了一下,比如0010110101001001+1111111101010101(前8个1代表负号),得出的值并不是我要的相减的结果。求教各位了。

问题补充:
PLC内部减法是如何做的?

最佳答案

2进制中负数是正数的补码,也就是正数的反码加1.
  比如正数是12,16位2进制为:0000_0000_0000_1100
  其反码为:1111_1111_1111_0011
  补码为反码加1:1111_1111_1111_0100
  所以-12的16位2进制为:1111111111110100
  不是仅仅把高位字替换为1那么简单,你需要学习一下最最基础的2进制知识!

 补充:PLC内部减法也是用这种方式进行加法运算的。

提问者对于答案的评价:

原创文章,作者:ximenziask,如若转载,请注明出处:https://www.zhaoplc.com/plc353748.html

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

相关推荐

  • S7-200集成的通信口与RS422设备连接问题

    S7-200可以与带其它设备通信进行RS422通信吗?(在此不考虑通信协议)。由于200本身集成是485的,如果外部设备是422的,请问数据电平可以直连么?貌似不需要加485转42…

    SIMATIC S7-200 2020年10月31日
  • S7 200通过自由口与打印机通讯

    S7 200通过自由口控制打印机,在项目中很多都用的到,只是偷懒才用上位机来解决,看了一些资料 想通过自由口直接控制打印机,大家有好的方法和例子吗? …

    SIMATIC S7-200 2021年7月4日
  • 请问哪里有西门子PLC200的编程软件下载?

    请问哪里有西门子PLC200的编程软件下载? 最佳答案 http://www.ad.siemens.com.cn/club/bbs/post.aspx?a_id=1391925&a…

    SIMATIC S7-200 2021年7月5日
  • 关于S7-200系统的奇怪问题

    各位好:请教一个关于S7-200系统的问题。工厂有一套S7-200系统,运行5年多了,最近发现几个比较奇怪的问题:1、有时候在上位机上修改参数后,发现程序的结果是按照修改之前的参数…

    SIMATIC S7-200 2020年10月31日
  • 用PPi把CP243-1的程序写到了PLC里。可是还是不能用网口通讯

    控着书上的一步步来。把那个通讯程序写好了。也下到PLc里了。可是还是不能用网口通讯。那具块上的link灯也不亮。是不是说明。。还没有连上网。 可是那里有错呢。IP也设了。…

    SIMATIC S7-200 2021年7月5日
  • 224xp 继电器输出的寿命问题

    224xp 继电器输出的寿命问题,本来224xp不能输出脉冲,我现在在它的输出公共端加个24V电源,然后用向导做了个输出脉冲的程序。请问这样做是否合理?或者如何能令224…

    SIMATIC S7-200 2021年7月5日
  • 西门子200穿透问题

    西门子200PLC和维控PI8070触摸屏通过232通讯,通过PI8070对PLC下载程序,应该怎么实现,求大神指教 最佳答案 问错地方了,这个问题应该去维控提问,一般只要是屏支持…

    SIMATIC S7-200 2021年7月5日
  • s7-200高速计数值刷新

    高速计数值HC0是程序每次扫描以后刷新,还是实时刷新, 我需要在程序的某个地方,当条件导通时,刷新一下HC0的值,再取HC0的值,该怎么处理 最佳答案 高速计数器独立于扫…

    SIMATIC S7-200 2021年7月5日
  • 使用modbus控制变频器

    我在网上找到了一段modbus控制台达vm系列变频器的程序装载到plc中实验过程中发现我这里给定的频率并不是变频器的实际给定频率经实验得知是类似于量程转换的对应刚开始给50,结果变…

    2017年5月28日
  • s7-200控制步进伺服电机 怎么走一个圆?

    s7-200控制步进伺服电机  怎么走一个圆? 钻石用户推荐最佳答案 200PLC无法实现这样的功能,就连1200都无法实现你要的功能,要使用到1500的PLC…

    SIMATIC S7-200 2021年7月5日

发表回复

登录后才能评论