我正试图在Delphi中执行算术移位。我不能让它工作,它一直给出错误的答案。
这是我的代码;
lValue := offset;
asm
mov cl,32
sar lValue,cl
end;
hgh := lValue and $FFFFFFFF;
当offset
设置为1024
且右移设置为32
时,hgh
应该等于0
。在我的代码hgh = 1024
。
答案 0 :(得分:0)
对于大于或等于32
的数字,您应有条件地移位31位