思路:用scl实现任意位数,的移位操作,申请加精华( ⊙ o ⊙ )!

已锁定

QQ:23013014

  • 帖子

    73
  • 精华

    0
  • 被关注

    4

论坛等级:游士

注册时间:2010-12-07

普通 普通 如何晋级?

思路:用scl实现任意位数,的移位操作,申请加精华( ⊙ o ⊙ )!

2456

2

2011-11-16 17:08:34

今天不想工作,翻论坛,看见一篇帖子,是关于移位的帖子

文章地址:http://www.ad.siemens.com.cn/club/bbs/post.aspx?b_id=4&a_id=826080&s_id=0&num=75

我想了一下笑了,有时间俺做个代码出来看看,不过我建议使用scl这个做起来比较简单,最多可以移位254位,任意位数的移位,我只是说一下思路
如果人气高的话,我就把代码写出来,呵呵~~~

卖个关子:

1:首先你需要把需要转换的数,转换成十进制码
2:将转换好的十进制码,转换成字符串存起来INT_TO_STRING
3:使用delete函数删除首位(左移位)
DELETE函数(FC 4)在一个串中从P指示的字符开始删除L个字符。如果L和或P等于0,或者如果P大于输入串的当前长度,返回输入的串。如果L和P之和大于输入串的长度,则串删除到结束位置。如果L和/或P是负数,输出一个空

串。
Example: DELETE (IN:= 'Temperature ok', L:= 6, P:= 5)
4:使用insert函数在后面加入一位(左移位)
INSERT函数(FC17)将参数IN2中的字符串插入到参数IN1中P批示的位置之后。如果P=0,第二个串插入到第一个串之前。如果P大于第一个串的当前长度,则第二个串接到第一个串之后。如果P是负数,则输出空串。当结果串长

于输出参数说明和变量,结果将限定在最大长度。
Example INSERT (IN1:= 'Participant arrived', IN2:='Miller':= 2, P:= 11)
5:这样我们的移位就完成了,然后就可以转换成十进制就行了STRING_TO_ INT
6:需要提出的INT为16位,那么我们我们字符串为254位,这里就需要变换了,呵呵~~~【如果还不明白我的意思就可以再看第3步,要是再不明白,那我就没有办法了】

各位好运.................................................

QQ:23013014
思路:用scl实现任意位数,的移位操作,申请加精华( ⊙ o ⊙ )! 已锁定
编辑推荐: 关闭

请填写推广理由:

本版热门话题

SIMATIC S7-300/400

共有54710条技术帖

相关推荐

热门标签

相关帖子推荐

guzhang

恭喜,你发布的帖子

评为精华帖!

快扫描右侧二维码晒一晒吧!

再发帖或跟帖交流2条,就能晋升VIP啦!开启更多专属权限!

  • 分享

  • 只看
    楼主

top
X 图片
您收到0封站内信:
×
×
信息提示
很抱歉!您所访问的页面不存在,或网址发生了变化,请稍后再试。