数据类型问题
大家好,我用-59传送到MD100(定义为DINT类型),显示为-59,但是我用-59传送到MD200(DWORD类型),怎结果变成了65477,当他们转换成字符串时,也不一样,在程序上把MD100与0比较,结果显示MD100小于0,但用MD200与0比较时,结果显示大于0?这两种数据类型为什么会出现这种情况,数字都是用二进制存储在CPU中,为什么一个为负数,令一个为正数?我有点困惑
答:
我觉得你这两个-59可能是不一样的,前者为32位整数,后者为16位整数,如果16位整数要传送到一个32位变量里需要先用I_DINT进行转换。
楼主最近还看过