| 作者 | 主题 |
|---|---|
|
诸葛卧鼠 游士 经验值:247 发帖数:94 精华帖:0 |
楼主
主题:数据类型问题
大家好,我用-59传送到MD100(定义为DINT类型),显示为-59,但是我用-59传送到MD200(DWORD类型),怎结果变成了65477,当他们转换成字符串时,也不一样,在程序上把MD100与0比较,结果显示MD100小于0,但用MD200与0比较时,结果显示大于0?这两种数据类型为什么会出现这种情况,数字都是用二进制存储在CPU中,为什么一个为负数,令一个为正数?我有点困惑
打击可以毁掉庸人,但可以让强者百炼成钢
|
|
youhm 至圣 经验值:13571 发帖数:4924 精华帖:81 |
2楼
主题:回复:数据类型问题
我觉得你这两个-59可能是不一样的,前者为32位整数,后者为16位整数,如果16位整数要传送到一个32位变量里需要先用I_DINT进行转换。
|