主题:有没有类似c语言,强制转换为字节的函数?
wuhonpin
[专家分:0] 发布于 2009-02-23 15:13:00
请教:
InByte(5) = (InByte(1) + InByte(2) + InByte(3) + InByte(4)) Mod 256
提示溢出,
我的本意是232c通讯累加和
有没有类似c语言,强制转换为字节的函数?
回复列表 (共5个回复)
沙发
wuhonpin [专家分:0] 发布于 2009-02-23 15:39:00
新来的,新手,请多关照
板凳
一江秋水 [专家分:9680] 发布于 2009-02-24 10:34:00
有的:CByte
3 楼
老大徒伤悲 [专家分:29120] 发布于 2009-02-24 23:36:00
从楼主的赋值语句猜测,InByte数组是“字节(byte)”类型的。
计算(InByte(1) + InByte(2) + InByte(3) + InByte(4)) 时,首先开辟一个临时变量,类型与第一个要使用的变量相同。这里四个字节变量的和很可能超出字节变量的计数范围造成溢出。
4 楼
bcahzvip [专家分:6040] 发布于 2009-02-25 02:01:00
InByte(5) = ((InByte(1) + InByte(2) + InByte(3) + InByte(4)) Mod &h100) and &hff&
5 楼
wuhonpin [专家分:0] 发布于 2009-02-25 09:29:00
谢谢大家,问题已解决:
InByte(5) = (CLng(InByte(1)) + CLng(InByte(2)) + CLng(InByte(3)) + CLng(InByte(4))) Mod 256
我来回复