技术论坛

请教大家个数据MD转MW的问题,谢谢

作者 主题
侠客

经验值: 900
发帖数: 87
精华帖: 0
主题:【求助】请教大家个数据MD转MW的问题,谢谢


只看楼主 楼主 2020-12-18 09:03:38



如图:

1、我是想试一下将MD14的数据传给MW18,整数是有符号数,当我把MD14值改为32767时MW也为32767,显示正常,输入32768时超出整数范围,MW182进制符号位为1,MW18数值为-1,这个是否属于数据溢出?

2、当我把MW18数据类型改为“字”时,按理说最大的数据储存应该是65535吧,可为什么我输入65535时MW18的值却变成-1了呢,请大神们指点一下,谢谢。


 
以下网友喜欢您的帖子:

  
重要声明:

著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

帖子链接:https://www.ad.siemens.com.cn/club/bbs/post.aspx?a_id=1658495&b_id=4&s_id=0&num=11

侠客

经验值: 900
发帖数: 87
精华帖: 0
回复:请教大家个数据MD转MW的问题,谢谢


只看楼主 楼主 1楼 2020-12-18 09:20:54

疯了,研究半天了。


 
以下网友喜欢您的帖子:

  
奇侠

经验值: 8096
发帖数: 1308
精华帖: 6
回复:请教大家个数据MD转MW的问题,谢谢


只看楼主 2楼 2020-12-18 11:28:07

300有双整数转整数指令????????只要整数变双整数啊?你怎么写的程序?


养活一团春意思,撑起两根穷骨头
以下网友喜欢您的帖子:

  
奇侠

经验值: 6777
发帖数: 1106
精华帖: 1
回复:请教大家个数据MD转MW的问题,谢谢


只看楼主 3楼 2020-12-18 11:44:51

这个不叫溢出,第一位是符号位,负数时左第一位为1(BIT 15)


 
以下网友喜欢您的帖子:

  
游侠

经验值: 465
发帖数: 24
精华帖: 1
回复:请教大家个数据MD转MW的问题,谢谢


只看楼主 4楼 2020-12-18 15:22:16

1、数据为32768时是数据溢出了,超出它存取的长度了(整数)

2、数据显示为-1(这里你用的还是整数,字是0-65535),你看的还是整数,不是字

3、这里你要用的话,最好双整数转整数,不要用MOVE指令,会出现溢出的



脚踏实地,一步一个脚印
以下网友喜欢您的帖子:

  
奇侠

经验值: 8096
发帖数: 1308
精华帖: 6
回复:请教大家个数据MD转MW的问题,谢谢


只看楼主 5楼 2020-12-18 18:04:30

用传送就行了....... 1,你用的仿真吧?再重新下载一次程序,,,,2,你以什么格式的输入就用什么格式的输出.......3,官方的举例字类型基本上都是16进制显示的,,,可能就是为了避免这个问题.....你换16进制输出看看,,  把你写的程序上图,,交叉引用都发上来


养活一团春意思,撑起两根穷骨头
以下网友喜欢您的帖子:

  
侠客

经验值: 900
发帖数: 87
精华帖: 0
回复:请教大家个数据MD转MW的问题,谢谢


只看楼主 楼主 7楼 2020-12-21 12:56:37

1、是用的仿真,程序反复下了很多次;

2、格式的输入与输出,我不是很理解、、、我的目的就是想看下从32位转换为16位时,在不溢出的情况下看数据是否一样,按理说字的最大范围不应该是65535么?当MD14MOVE给MW18时为什么一超出32767就变负数了?(整数是-32768~32767),

3、可我在符号表中把MW18定义为字了啊,为什么MW18还存在符号位?

4、试了下换16进制的,就是这个结果。




 
以下网友喜欢您的帖子:

  
至圣

经验值: 43587
发帖数: 15780
精华帖: 61
回复:请教大家个数据MD转MW的问题,谢谢


只看楼主 10楼 2020-12-21 17:39:51

你定义成int变量时最高位为1时就是负数了,你如果想显示成正数,那么你应该是定义成word,



活到老,学到老!为了生活学习吧!
以下网友喜欢您的帖子:

  
至圣

经验值: 43587
发帖数: 15780
精华帖: 61
回复:请教大家个数据MD转MW的问题,谢谢


只看楼主 11楼 2020-12-22 10:46:05

你显示也应该按word显示呀!你监控显示成dec就是按int类型的数据显示了。


活到老,学到老!为了生活学习吧!
以下网友喜欢您的帖子:

  
侠客

经验值: 900
发帖数: 87
精华帖: 0
回复:请教大家个数据MD转MW的问题,谢谢


只看楼主 楼主 12楼 2020-12-22 14:14:30
以下是引用zhangli0在2020-12-22 10:46:05的发言 >11楼

你显示也应该按word显示呀!你监控显示成dec就是按int类型的数据显示了。

谢谢前辈,我试了下二进制,和十六进制,都正常,请问这是为什么呢?WORD字不能用十进制显示么?那同理,是不是双字也不能用某一进制显示?请推荐个相关资料,谢谢,我先度娘查一下。


 
以下网友喜欢您的帖子:

  
侠士

经验值: 1180
发帖数: 266
精华帖: 0
回复:请教大家个数据MD转MW的问题,谢谢


只看楼主 13楼 2020-12-22 15:12:31

word只支持2进制和16进制,你可以看一下1200的基础数据类型。


无闻
以下网友喜欢您的帖子:

  
至圣

经验值: 43587
发帖数: 15780
精华帖: 61
回复:请教大家个数据MD转MW的问题,谢谢


只看楼主 14楼 2020-12-22 16:18:31

十进制实际就是int,二进制的最高位被看成符号位了,所以你最高位为1就认为是负数了。


活到老,学到老!为了生活学习吧!
以下网友喜欢您的帖子:

  
  • 上一页
  • 1
  • 下一页
收起
请教大家个数据MD转MW的问题,谢谢
您收到0封站内信:
×
×
信息提示
很抱歉!您所访问的页面不存在,或网址发生了变化,请稍后再试。