作者LPH66 ((short)(-15074))
看板Visual_Basic
标题Re: [VB6 ] 如何把4BYTE的资料放进BYTE阵列中?
时间Wed Sep 10 12:22:56 2008
※ 引述《mlmfree (ㄚ福)》之铭言:
: 现在在写一个程式
: 要把三种不同型态的资料放在同一个封包中用WINSOCK进行传输
: 目前想到的办法是用一个BYTE阵列进行传输
: 问题主要是要把一个long型态的资料 把4 个byte分别存到byte阵列中
: 可是目前尝试的写法都有问题
: 可以请板上各位高手给我一点建议吗
: 谢谢各位
如果你的值在value 阵列是barr
rem 以下是little-endian的顺序
rem 如果要big-endian的话 0和3对调 1和2对调
rem 我的印象中好像网路传输是用big-endian...
barr(0) = value And &HFF
barr(1) = (value >> 8) And &HFF
barr(2) = (value >> 16) And &HFF
barr(3) = (value >> 24) And &HFF
照我查到的 >> 的动作来看 (有号的shift)
这段应该对正负数都OK
--
有人喜欢边
玩游戏边
上逼;
也有人喜欢边
听歌边
打字。
但是,我有个请求,
选字的时候请
专心好吗?
-- 改编自「古 火田 任三郎」之开场白
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 122.121.20.207
1F:→ MOONRAKER:VB6 有 >> operator 啊? 09/10 15:06
2F:→ LPH66:VB6没有 不过我查MSDN是说之後的就有 09/10 17:15
3F:→ LPH66:在VB6上可以改用value\&H100 value\&H10000 value\&H1000000 09/10 17:15
4F:推 fumizuki:VB2005确实有位元运算子 09/11 22:42
5F:推 fumizuki:VB6 就用 乘法或除法替代 09/11 22:42
6F:→ MOONRAKER:我可没说VB.NET没有 可是标题明明要问VB6 09/12 02:56
7F:→ MOONRAKER:又不是「关公大战尉迟恭」 09/12 02:57