vb里怎样定义十六进制数

来源:百度知道 编辑:UC知道 时间:2024/07/05 00:32:01
想定义一个变量,然后付给变量一个十六进制的数,这个变量应该定义成什么类型呢?
可是我在运行:
dim q As Long
q=Hex( )
时,当Hex( )转化出来的十六进制数里有字母时,就会出现错误:类型不匹配。这是怎么回事呢?

用Val转换的话不是又会化为10进制?我要用16进制进行计算啊

可是Val自动去掉了16进制中的字母啊,如:
q=val(Hex(27)) 27换为16进制为1B,而经过q=val(Hex(27))转换出来后变成了1,B就没有了,运算起来就有错误了

1、vb6里用&H开始的符号表示16进制数。
2、比如16进制数FF,在vb6里表示为:&HFF。
3、16进制数,基数为16,进逢16进1的一种计数方式,用0~9、A~F表示。
4、c语言里用0x或0X表示,如:0xFF。

类型和进制无关,和数的位数也就是大小有关,所有数在存储时都是二进制的

那是因为Hex函数的返回值不是不是数值型的而是字符串类型的,解决方法有两个
第一
如果你的q是为了输出用不参加计算,那么就把q定义为String类型
第二
如果需要参加运算那么就用val函数转换为数值类型
如q=val(Hex( ))

Val是将非数值类型换为数值类型,进制不会改变

在数字之前加上&H就代表 这个数字是16进制
例如:&H10 是16进制的10 转化成1进制就是 16

clng("&h" & str)
即可把str字符串中保存的16进制的数转换为long型。