作者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
→ MOONRAKER:VB6 有 >> operator 啊? 09/10 15:06
→ LPH66:VB6沒有 不過我查MSDN是說之後的就有 09/10 17:15
→ LPH66:在VB6上可以改用value\&H100 value\&H10000 value\&H1000000 09/10 17:15
推 fumizuki:VB2005確實有位元運算子 09/11 22:42
推 fumizuki:VB6 就用 乘法或除法替代 09/11 22:42
→ MOONRAKER:我可沒說VB.NET沒有 可是標題明明要問VB6 09/12 02:56
→ MOONRAKER:又不是「關公大戰尉遲恭」 09/12 02:57