请问shr如何用?$0FF表示什么?x为222222222222222,result是什么?Result:= Byte((x Shr 24) and $0FF)

  • 主题发起人 主题发起人 yecloudy
  • 开始时间 开始时间
Y

yecloudy

Unregistered / Unconfirmed
GUEST, unregistred user!
请问shr如何用?$0FF表示什么?x为222222222222222,result是什么?Result:= Byte((x Shr 24) and $0FF);(10分)<br />请问shr如何用?$0FF表示什么?x为222222222222222,result是什么?Result:= Byte((x Shr 24) and $0FF);
 
shr 是逻辑右移, x shr y 就是把x向右移Y位,前面补零。
$0FF $表明后面是个十六进制数,$0FF 就是二进制11111111。
Result是一个函数的返回值,本例结果为36。
 
222222222222222 is
110010100001110000100100100111011110001110001110
x shr 24 is:110010100001110000100100
(x shr 24)and $0ff is :100100
就是36了。

shr 24其实就是除以2的24次方;整除;
and $0ff 其实就是取低8位;
 
$表示16进制数.
$ff就是16进制的ff,就是10进制的255
 
这其实应该是汇编里面的知识了,有空可以去看一下汇编的书对你肯定有帮助的!
 
后退
顶部