PLC论坛-全力打造可编程控制器专业技术论坛

 找回密码
 注册哦

QQ登录

只需一步,快速开始

微信扫码登录

查看: 2669|回复: 6

请教除法指令!!

[复制链接]
发表于 2006-10-24 17:57:00 | 显示全部楼层 |阅读模式

如:DIV D0 D2 D4

为什么当16位运算时:D0/D2----D4

而当32位运算时是:[D1.D0]/[D3.D2]-----[D5.D4]

还有16位运算和32位运算分别是什么,各会用在什么情况下比较多呢?

请各位指教一下我这个新手!!!谢谢!!

回复

使用道具 举报

发表于 2006-10-25 11:23:00 | 显示全部楼层

16位数据能表示-32768到32768范围内的数,32位数据能表示-2147483到2147483范围内的数,

因此如果运算数据较大超出16位范围,就应用到32位数据运算了。

回复 支持 反对

使用道具 举报

 楼主| 发表于 2006-10-25 12:48:00 | 显示全部楼层

那上面那个例子怎样解释啊???

回复 支持 反对

使用道具 举报

 楼主| 发表于 2006-10-25 12:50:00 | 显示全部楼层
那上面那个例子怎样解释啊?
回复 支持 反对

使用道具 举报

发表于 2006-10-25 13:31:00 | 显示全部楼层

16位解释如下:
比如 D0中存有数据2222 ,D2中存有1111 进行DIV运算后,结果2放在D4中
32位类似,注意的是[D1.D0] 表示D1的数据做前十六位,D0的数据做后十六位,[D3.D2]一样,进行DIV运算后,计算结果前十六位放D5,后十六位放D4

如果有一个数12345678 除11112222,则 D1中数据为1234,D0中数据为5678,D3中数据为1111,D2中数据为2222

关于16位数据能表示-32768到32768范围内的数,32位数据能表示-2147483到2147483范围内的数
解释如下:-32768 其实是十六位,注意前面的-号,那也算一位,32768默认是+号,并且D1,D0,D3,D2,D5,D4取值范围为-32768到32768如果超出会出错,
32位也一样

回复 支持 反对

使用道具 举报

 楼主| 发表于 2006-10-25 15:53:00 | 显示全部楼层
明白了,谢了!!!
回复 支持 反对

使用道具 举报

发表于 2006-11-15 10:32:00 | 显示全部楼层
写得好,谢谢了
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册哦

本版积分规则

QQ|小黑屋|手机版|Archiver|PLC技术网-PLC论坛 ( 粤ICP备17165530号 )|网站地图

GMT+8, 2024-5-12 00:32 , Processed in 0.047561 second(s), 24 queries .

快速回复 返回顶部 返回列表