VB中16进制的问题

来源:百度知道 编辑:UC知道 时间:2024/06/05 02:27:33
经常看别人的VB代码里有这样类似的语句
Const FORMAT_MESSAGE_FROM_HMODULE = &H800
查了下&H800是代表16进制的800

想请教下&H800到底什么意思?
我想给这个常量再赋值 也不知道格式是什么样的啊

&H800是不是某个汉字 或 某个数字 进制过去的?那么还原后是什么?

谁能通俗易懂的解释下

下面是这个数字的作用
这里的&H800是传递给系统函数的一个参数,一般是32位的整数
它是由32个二进制0和1的组合,于是它可以表示32种状态
&H800转换成二进制是00000000000000000000100000000000,
其中第12位被置1
当系统收到这个数字第12位带有1时,就知道你要"从模块中格式化字符串"( FORMAT_MESSAGE_FROM_HMODULE)
还有其它31个状态你可以选择,这些都是系统定义好的,比如FORMAT_MESSAGE_FROM_SYSTEM=&H1000
,就把第13位置1
所以这个表面看起来像一个16进制数,实际它真正表示的是32种不一样的状态,告诉系统在处理你的请求需要注意一些什么情况

表达式中表示数值时,为了区别不同进制,在数值前可加前缀,H表示是十六进制,B表示是二进制,D表示是十进制,O表示是八进制。格式为&+进制前缀+数值。