mov EBX, n ; 第 n 位 and EAX, EBX ; mov CX, m ; 移 m 位 shl EAX, CX ; shr EAX, CX; shl/shr EAX, 1 ; 移位 mov EBX, 要合成的另一部分数据 or EAX, EBX ; EAX 中为结果Result := ((A and n) shr m) or B; // 比上面的慢吗? 不见得有多大差别
Delphi中的And,Or本身也是位操作符,以下是Delpi中的位操作列表 Operator Operation Operand types Result type Examples not bitwise negation integer integer not X and bitwise and integer integer X and Y or bitwise or integer integer X or Y xor bitwise xor integer integer X xor Y shl bitwise shift left integer integer X shl 2 shr bitwise shift right integer integer Y shr I
and EAX, EBX ;
mov CX, m ; 移 m 位
shl EAX, CX ; shr EAX, CX; shl/shr EAX, 1 ; 移位
mov EBX, 要合成的另一部分数据
or EAX, EBX ; EAX 中为结果Result := ((A and n) shr m) or B; // 比上面的慢吗? 不见得有多大差别
Operator Operation Operand types Result type Examples
not bitwise negation integer integer not X
and bitwise and integer integer X and Y
or bitwise or integer integer X or Y
xor bitwise xor integer integer X xor Y
shl bitwise shift left integer integer X shl 2
shr bitwise shift right integer integer Y shr I
汇编在提高效率上无非就是在操作硬件等的时候占优势除了这个
还不如自己自己用delphi写
一个TBits类可以理解成一个以boole为类型的数组,
很不错.帮助里有很详细的资料