給幾個例子,僅供參考:
1。取整數的任意一個bit,返回 True(=1), False(0);
function GetBit(A :integer
bit : byte) :boolean;
begin
result := (A and (1 shl bit)) <> 0;
end;
2。取一個字節的高4位与低4位相加
result := (A shr 4) + (A and 15);
另外,用内嵌 assembler 或許是個好主意,可以干很多事:
asm
mov eax, A
mov ebx, 1
shl ebx, bit
xor eax, ebx
...
end