主题:[讨论]关于如果正确使用16进制数0X和0H的问题?
a=0h30
b=0x30
? a,b
? VARTYPE(a), VARTYPE(b)
? TYPE("a"), TYPE("b"), LEN("b")
? CHR(0xfe40) &&打印汉字兀
-----------------------------------
运行结果:
0h30 48
Q N
Q N 1
兀
-----------------------------------
问题1:
为什么在VFP系统中有时需要把16进制数写作:0X开头或0H开头呢?
如:
a=0h30在赋值情况下就要用0H开始的形式,
而在函数中求值时就又要改用0X开始头的形式
在MSCOMM控件输出要用0H开头的形式
请问为什么在同一个VFP系统中表达同一个16进制数需要这样用不同形式的表示方法呢?
问题2:
? VARTYPE(a), VARTYPE(b)
? TYPE("a"), TYPE("b"), LEN("b")
这两行用VARTYPE和TYPE求得A的类型为Q,在网上查得这是"大二进制对象(Blob)、可变长二进制型(Varbinary)"
请问这是什么意思,明明是十六进制为什么说是大二进制呢,而这个大二进制和可变长二进制具体是什么作用一般什么情况下使用呢?
再有为什么同是十六进制值表示的都是十进制数字0为什么一个是Q型,另一个是数据型呢?
谢谢!
b=0x30
? a,b
? VARTYPE(a), VARTYPE(b)
? TYPE("a"), TYPE("b"), LEN("b")
? CHR(0xfe40) &&打印汉字兀
-----------------------------------
运行结果:
0h30 48
Q N
Q N 1
兀
-----------------------------------
问题1:
为什么在VFP系统中有时需要把16进制数写作:0X开头或0H开头呢?
如:
a=0h30在赋值情况下就要用0H开始的形式,
而在函数中求值时就又要改用0X开始头的形式
在MSCOMM控件输出要用0H开头的形式
请问为什么在同一个VFP系统中表达同一个16进制数需要这样用不同形式的表示方法呢?
问题2:
? VARTYPE(a), VARTYPE(b)
? TYPE("a"), TYPE("b"), LEN("b")
这两行用VARTYPE和TYPE求得A的类型为Q,在网上查得这是"大二进制对象(Blob)、可变长二进制型(Varbinary)"
请问这是什么意思,明明是十六进制为什么说是大二进制呢,而这个大二进制和可变长二进制具体是什么作用一般什么情况下使用呢?
再有为什么同是十六进制值表示的都是十进制数字0为什么一个是Q型,另一个是数据型呢?
谢谢!