[VB6]bit-shift operation

VB6/VBA不支援 "<<" & ">>"的位元操作

(C/C++/C#)
a = b << n ;b左移n bits
a = b >> n ;b右移n bits

(VB/VBA)
a = b * (2 ^ n) '左移, 乘以2的n次方
a = b / (2^ n) '右移, 除以2的n次方


Demo code
  1. Option Explicit
  2.  
  3. Sub bit_shift()
  4. Dim reg As Byte
  5. reg = &H1
  6.  
  7. ' 1
  8. Debug.Print "Before: 0x" & Hex(reg)
  9. ' 2
  10. reg = reg * (2 ^ 5)
  11. Debug.Print "left-shift 5-bits: 0x" & Hex(reg)
  12. ' 3
  13. reg = reg / (2 ^ 2)
  14. Debug.Print "right-shift 2-bits: 0x" & Hex(reg)
  15. End Sub

Result

留言

這個網誌中的熱門文章

[VB6]使用File Dialog選擇檔案

[VB6]MSFlexGrid使用記錄

[VBA]如何藉由使用 Excel 中的 Visual Basic 程序選取儲存格/範圍