回复:怎么把s7300里面的实数转换成整数

头号笨笨

  • 帖子

    147
  • 精华

    0
  • 被关注

    6

论坛等级:侠客

注册时间:2006-03-28

普通 普通 如何晋级?

发布于 2011-03-18 13:46:09

3楼

TRUNC
TRUNC (32位IEEE浮点数转换为32位整型)将ACCU 1的内容解释为32位IEEE浮点数。该指令将32位IEEE浮点数转换为32位整型(长整型)。运算结果为所转换浮点数的整数部分(IEEE取整模式"取整到零")。如果数字超出允许范围,则状态位OV和OS被置位到1。结果存储在累加器1中。
出现错误(使用了不能表示为32位整数的NaN或浮点数)时不执行转换并显示溢出。

状态字
BR CC 1 CC 0 OV OS OR STA RLO /FC
写: - - - x x - - - -
实例
STL 注解
L MD10 //将浮点数载入ACCU 1-L。
TRUNC //将浮点数(32位,IEEE 754)转换为整型(32位),并对结果取整。结果储存在ACCU 1中。
T MD20 //将结果(长整数)传送到MD20。
转换前的值 转换后的值
MD10 = "100.5" => TRUNC => MD20 = "+100"
MD10 = "-100.5" => TRUNC => MD20 = "-100"




RND (32位IEEE浮点数转换为32位整型)将ACCU 1的内容解释为32位IEEE浮点数(32位,IEEE 754)。该指令将32位IEEE浮点数转换位32位整型(长整型),并将结果取整为最接近的整数。如果所转换数字的小数部分介于偶数和奇数结果之间,则该指令选择偶数结果。如果数字超出允许范围,则状态位OV和OS被置位到1。结果存储在累加器1中。
出现错误(使用了不能表示为32位整数的NaN或浮点数)时不执行转换并显示溢出。
状态字
BR CC 1 CC 0 OV OS OR STA RLO /FC
写: - - - x x - - - -
实例
STL 注解
L MD10 //将浮点数载入ACCU 1-L。
RND //将浮点数(32位,IEEE 754)转换为整型(32位)并对结果进行舍入。
T MD20 //将结果(长整数)传送到MD20。
转换前的值 转换后的值
MD10 = "100.5" => RND => MD20 = "+100"
MD10 = "-100.5" => RND => MD20 = "-100"

我爱西门子
评论
编辑推荐: 关闭

请填写推广理由:

本版热门话题

SIMATIC S7-300/400

共有54699条技术帖

相关推荐

热门标签

相关帖子推荐

guzhang

恭喜,你发布的帖子

评为精华帖!

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

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

  • 分享

  • 只看
    楼主

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