怎样在vb里定义一个16位无符号整形数?(0到65535)

webptg 2000-03-02 07:25:00
...全文
1288 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
Un1 2000-03-04
  • 打赏
  • 举报
回复
不会,当然的保证你的值是正确的。其实堆栈里的数对于32位来说全是4比特的,因此你在VB中申明为Long, 取值在0 - 65535之间就一定没问题。
Un1 2000-03-04
  • 打赏
  • 举报
回复
那你不可以这样吗:

//In VC
int __stdcall send(long *data)
{


unsigned short i;
i = (unsigned short)*data;

//next statements use i

}


//In VB
dim shuju(100) as long
call send(shuju(0))
webptg 2000-03-04
  • 打赏
  • 举报
回复
我调用vc中的dll函数,在vc里声明为无符号短整形数,我不知在vb里声明为integer是否会出错。
webptg 2000-03-04
  • 打赏
  • 举报
回复
是这样的,我在vc中定义了一个函数:
int __stdcall send(unsigned short int *data)
vb调用这个函数,通过data指针返回数据如:
dim shuju(100) as integer
call send(shuju(0))
假设vc中data指针指向一个65535的数,这时vb调用send函数后
shuju(0)将不是原来的数值了.
Un1 2000-03-03
  • 打赏
  • 举报
回复
这有什么用途
snakebird 2000-03-03
  • 打赏
  • 举报
回复
vb里没有16位无符号整形数,用long吧。
WHQ 2000-03-03
  • 打赏
  • 举报
回复
应该支持WORD类型吧,比如调用GetSystemTime时用的SYSTEMTIME结构中的成员都是WORD。(WORD就是16位的无符号整数)
Lionel 2000-03-03
  • 打赏
  • 举报
回复
为什么一定要这样,long有什么不行的吗?效率上讲,long还会快一些的,即使是微不足道的。

7,759

社区成员

发帖
与我相关
我的任务
社区描述
VB 基础类
社区管理员
  • VB基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧