在step7中常数设定
郑志武
发布于2013-02-28 23:36
14
0
标签:
在step7中想设定一个常数,比如是十进制的10,当它是浮点数时就设定为10.0,那么当它是整数时是不是设定为10呢?
佳答案
1.16位整数(int),整数是有符号数,整数的高位为符号位,高位为0时为正数,为1时为负数,取值范围为-32768~32767。32位整数(dint)的高位为符号位,取值范围为-2147483648~2147483647。
2.32位浮点数(real)为称实数,可以表示为1.mx2^e,其中尾数m和指数e均为二进制数,e可能是正数,也可能是负数。浮点数的优点是用很小的存储空间(4b)可以表示非常大的和非常小的数。在编程软件中,一般并不直接使用二进制格式或十六进制格式的浮点数,而是用十进制小数来输入或显示浮点数,例如在编程软件中,10是整数,而10.0为浮点数。
3.常数,常数值可以是字节,字,或双字,cpu以二进制数存储常数,常数也可以用十进制、十六进制ascii码或浮点数表示。
b#16#,w#16#,dw#16#分别表示十六进制的字节,字和双字常数。
2#用来表示二进制常数,例如2#1111011010010001是16位二进制常数。
l#用来表示32位双整数常数,例如l#+5.
p#用来表示地址指针常数,例如p#m2.0是m2.0的地址。
s5t#用来表示16位s5时间常数,格式为s5t#ad_bh_cm_ds_ems。其中a,b,c,d,e,分别是日,小时,分,秒和毫秒的值,也可以以秒为单位输入。输入时可以省掉下划线,例如s5t#2h15m30s为2小时15分30秒。
t#用来表示带符号的32位iec时间常数,例如t#1d_12h_30m_0s_250ms,时间增量为1ms。
date是iec日期常数,例如d#2012-12-16。
tod#用来表示32位实时时间(timeofday)常数,时间增量为1ms,例如tod#21:20:32:800。
c#用来表示16位计数器常数(bcd码),例如c#250.。
ascii字符用单引号表示,例如‘abc’,每个ascii字符点一个字节。