Visual_Basic 板


LINE

VB 2005 已經支援左移了 http://msdn.microsoft.com/zh-tw/library/b6ex274z(v=vs.80).aspx Dim lResult, rResult As Integer Dim pattern As Integer = 12 ' The low-order bits of pattern are 0000 1100. lResult = pattern << 3 ' A left shift of 3 bits produces a value of 96. rResult = pattern >> 2 ' A right shift of 2 bits produces value of 3. 雖然是我的話也是用VB6寫...VB6不死!!!! ※ 引述《fumizuki (矇面加菲獅)》之銘言: : '左移 : 'Length 位元數量,預設給8bits(1bytes) : Public Function ShiftL(ByVal Num As Long, _ : Optional Length As Integer = 8) As Long : Dim Max As Long : Max = 2 ^ (Length - 1) '最高位元的10進位值 : If Num >= Max Then '先減去最高位元 : Num = Num - Max : End If : ShiftL = Num * 2 : End Function : '右移 : Public Function ShiftR(ByVal Num As Long) As Long : ShiftR = Fix(Num / 2) '除以2,取整數即可 : End Function : ※ 引述《yauhh (喲)》之銘言: : : ^ 應該是乘16 : : VB6有錯誤處理機制,可以on error goto 指定的程式段落. : : 左移運算可以這樣子做: : : environ.bas : : --------------------------- : : Option Explicit : : Public Function ShiftL(Num As Long) As Long : : On Error GoTo handle_overflow : : ShiftL = Num * 2 '絕大部分只要一個乘二即可,如果嫌乘法慢,可以寫Num+Num. : : Exit Function : : handle_overflow: : : HandleOverflow Num : : End Function : : 'HandleOverflow Num 時,知道Num一定是二進位值為1xxxxxxxxx...x, : : '這時候要看你要實作算術左移或是普通左移,或者是循環左移. : : '以下做普通左移: : : Private Function HandleOverflow(Num as Long) As Long : : Dim bit_len As Integer : : Dim temp As Long : : Dim mask as Long : : temp = Num : : bit_len = 0 : : While temp <> 1 : : temp = temp \ 2 : : bit_len = bit_len + 1 : : Wend : : '我需要&H7FFFF...F將Num含第二位元之後的值取出. : : mask = CLng("&H7" & String((bit_len-3)/4, "F")) : : HandleOverflow = (Num And mask) * 2 : : End Function -- 常發人好人名片    Yaiba:您好,我是好人       幫正妹組電腦送到府          外加一年到府維護 --



※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 42.74.1.2
1F:→ MOONRAKER:用清朝的劍殺明朝古人? 02/14 14:54
2F:→ MOONRAKER:VB6死好,還用VB6,小心當土海盜 02/14 14:55
3F:→ Yaiba:對VB6是一種情感...雖然很多問題..但忘了那些的話還是很好用 02/14 15:09
4F:→ Yaiba:因為VB後面改版有加入一些元素~ C要改版成VB2005說不定容易? 02/14 15:10
5F:→ MOONRAKER:VB.NET的確跟C幹了很多東東 其實不見得是好事 02/14 19:21
6F:→ MOONRAKER:但是VB6不免費阿,就算教學版也應該都已經超過授權範圍 02/14 19:22
7F:→ MOONRAKER:轉到.NET前都覺得很難,可真的轉了好像也沒有那麼難 02/14 19:23
8F:→ yauhh:who cares? 你一個專案用VB6寫,會思考2005有什麼指令嗎? 02/14 20:22
9F:→ yauhh:而且一個專案選擇VB6來做,不會是因為對它有感情這麼簡單. 02/14 20:22







like.gif 您可能會有興趣的文章
icon.png[問題/行為] 貓晚上進房間會不會有憋尿問題
icon.pngRe: [閒聊] 選了錯誤的女孩成為魔法少女 XDDDDDDDDDD
icon.png[正妹] 瑞典 一張
icon.png[心得] EMS高領長版毛衣.墨小樓MC1002
icon.png[分享] 丹龍隔熱紙GE55+33+22
icon.png[問題] 清洗洗衣機
icon.png[尋物] 窗台下的空間
icon.png[閒聊] 双極の女神1 木魔爵
icon.png[售車] 新竹 1997 march 1297cc 白色 四門
icon.png[討論] 能從照片感受到攝影者心情嗎
icon.png[狂賀] 賀賀賀賀 賀!島村卯月!總選舉NO.1
icon.png[難過] 羨慕白皮膚的女生
icon.png閱讀文章
icon.png[黑特]
icon.png[問題] SBK S1安裝於安全帽位置
icon.png[分享] 舊woo100絕版開箱!!
icon.pngRe: [無言] 關於小包衛生紙
icon.png[開箱] E5-2683V3 RX480Strix 快睿C1 簡單測試
icon.png[心得] 蒼の海賊龍 地獄 執行者16PT
icon.png[售車] 1999年Virage iO 1.8EXi
icon.png[心得] 挑戰33 LV10 獅子座pt solo
icon.png[閒聊] 手把手教你不被桶之新手主購教學
icon.png[分享] Civic Type R 量產版官方照無預警流出
icon.png[售車] Golf 4 2.0 銀色 自排
icon.png[出售] Graco提籃汽座(有底座)2000元誠可議
icon.png[問題] 請問補牙材質掉了還能再補嗎?(台中半年內
icon.png[問題] 44th 單曲 生寫竟然都給重複的啊啊!
icon.png[心得] 華南紅卡/icash 核卡
icon.png[問題] 拔牙矯正這樣正常嗎
icon.png[贈送] 老莫高業 初業 102年版
icon.png[情報] 三大行動支付 本季掀戰火
icon.png[寶寶] 博客來Amos水蠟筆5/1特價五折
icon.pngRe: [心得] 新鮮人一些面試分享
icon.png[心得] 蒼の海賊龍 地獄 麒麟25PT
icon.pngRe: [閒聊] (君の名は。雷慎入) 君名二創漫畫翻譯
icon.pngRe: [閒聊] OGN中場影片:失蹤人口局 (英文字幕)
icon.png[問題] 台灣大哥大4G訊號差
icon.png[出售] [全國]全新千尋侘草LED燈, 水草

請輸入看板名稱,例如:Boy-Girl站內搜尋

TOP