溢出问题

zhougy1984 2007-12-05 04:11:20
为什么&H16777215 and &H42781900080会溢出呢
加了#还是会溢出
...全文
42 点赞 收藏 7
写回复
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
Tiger_Zhao 2007-12-05
将4278190080换成-16777216或&HFF000000。
VB中的Long是有符号整数,所以无符号整数要根据16进制转化成相应的有符号整数或直接表示为16进制。
回复
zhougy1984 2007-12-05
其实我就是想把长整形1677725二进制的高8位取出来,
但是和&HFF 00 00 00与的时候就溢出了
前面说没有意义是啥意思,还有屏蔽掉有啥用?
回复
zhougy1984 2007-12-05
我赋了long型,double型都不行,
在数字后面加数字类型说明符也还是溢出
不知道是什么原因
哪位专家给小弟解惑
感激不尽
回复
东方之珠 2007-12-05
我猜你是要进行位操作,屏蔽某些位吧。不然,两个长整数逻辑操作是没什么意义的。
回复
东方之珠 2007-12-05
不能直接写成:16777215 and 4278190080,要在变量中进行,因为数字太大,必须是长整型。
回复
zhougy1984 2007-12-05
sorry,前面写错了
应该是两个十进制的相与
16777215 and 4278190080
是不是vb的and本身有什么限制?
回复
东方之珠 2007-12-05
VB6 Code:

dim A as long,B as long
dim C as boolean
A=&H16777215 : B= &H42781900080
C=A and B
debug.print "A and B =" & C

回复
发动态
发帖子
VB基础类
创建于2007-09-28

7453

社区成员

VB 基础类
申请成为版主
社区公告
暂无公告