VB没有提供移位操作的指令和函数,只提供and(与)、or(或)、xor(异或)、eqv(同或)、not(非)等几个运算符,而编程时有时需要对一个字节进行移位操作(如进行加密),怎么办?其实只用and、or二个运算符即可搞掂。例如要将变量byte1的第八位置1(假设byte1的二进制值为01001101),则只需byte1or&h80(即01001101or10000000),如要将第八位置0,则只需byte1and&h7f。请看下面程序段是如何实现循
环左移的:
PublicFunctionbyteleft(byte1AsByte,nAsInteger)AsByte`将byte1左移n位
DimintemAsByte`临时变量
Dimintem1AsByte`临时变量
Dimx,yAsInteger
intem1=byte1
Forx=1Ton`移多少位就循环多少次
Fory=8To1Step-1`从第八位(左边第一位)开始循环左移
SelectCasey
Case8
If(intem1And&H80)=&H80Then`如果临时变量intem1的第八位是1,<...[ 查看全文 ]