quote:以下是引用Automann在2012-11-30 14:07:41的发言:quote:以下是引用mengcg在2012-11-30 13:43:03的发言:
WORD和INT都是16位的数据类型,无符号时是否通用,数值范围一样吗?
WORD是无符号数(0~65535),INT是有符号数(-32768~32767),当然不能通用。
Word说是0-65535,但是既然是word,就不能进行任何数*算了,所以这个0-65535其实没有什么意义,word的最大表示的范围就是2的16次方,而int的范围是-32768-32767,最大的表示范围也是2的16次方。我倒是更愿意理解把word和int都理解成16位的容器。用stl语言时,不管你定义成int还是word,程序代码一样,结果也一样。比如如下代码,不管你把mw100定义为word还是int,过程一样,结果也是一样
L L#40000
T MW 100
L MW 100
T MD 102
Dwrod,Dint或者real也是一样
L 4.1234
T MD 110
L MD 110
T MW 114
所以16位就是16位,32位就是32位,不管是word,dword,int,dint,time,s5time,bcd等等数据格式都是人为定义的,他代表什么含义的看他在什么场合用。
比如0.1这个数,你把它存在md0,那么md0的值就是2#0011_1101_1100_1100_1100_1100_1100_1101
这个时候你用word理解是一个值,用双整是一个值,到底什么值就看你了。卡扎菲有人说是英雄,也有人说是狗熊,还有人说是笨蛋,总有有人说他是天才!