回复:关于200的数据类型和数据格式

小明哥

  • 帖子

    429
  • 精华

    1
  • 被关注

    4

论坛等级:侠客

注册时间:2007-04-04

普通 普通 如何晋级?

发布于 2008-02-22 16:16:31

0楼

我想我可以理解楼上所说的,变量究竟是哪种数据类型来参与运算取决于所使用的指令。假如变量的值是200,那么使用movw指令将其送入vw100中后,究竟它是作为int类型还是word类型,比较模糊,当使用整数操作类指令时,它是作为int类型参与运算的,若使用的是字型操作类指令,那么它将作为word类型数据参与运算。需要注意的是,这是个变量而不是常量,若是常量就只能是word类型的了。
由于不同的数据类型即使它们的长度相同,取值范围也是有差别的,比如上边的word和int类型,我觉得除了可以通过数值和符号来判断数据类型外,其他就要看使用的指令了。若+1000,由于它是带符号的,就只能是整形数而不能是word或者dword型的,这时我有个疑问,若1000,那它有没有可能是整形数(int)呢?(整形数(int)是有符号数),是不是既可能是word型也可能是int型,还可能是dword或dint型的呢?我觉得即使常数的数据类型不确定,当它存入存储器时也要有个类型的吧?
我自己做了个小试验:写一段小程序,使用movw指令将65536传送入vw100,编译没有问题,在65536前加上符号+,马上提示有语法错误产生,将数据改为+32737,错误消失,改成+32768,错误出现。这说明当数值是1000时,它是作为word类型出现的,而不是int型,当+1000时,是作为int型出现的。不知我的理解是否正确?
请高手指点!!!
评论
编辑推荐: 关闭

请填写推广理由:

本版热门话题

SIMATIC S7-200

共有33274条技术帖

相关推荐

热门标签

相关帖子推荐

guzhang

恭喜,你发布的帖子

评为精华帖!

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

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

  • 分享

  • 只看
    楼主

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