delphi中 位操作 and的问题

sendstr1[5]:=(zhengrotnumand$ff000000)shr24;sendstr1[5]:=(zhengrotnumand$00ff0000)shr... sendstr1[5] :=(zhengrotnum and $ff000000) shr 24;
sendstr1[5] := (zhengrotnum and $00ff0000) shr 16;
sendstr1[6] := (zhengrotnum and $0000ff00) shr 8;
sendstr1[7] := (zhengrotnum and $000000ff) shr 0;
其中zhengrotnum 等于5,我就不明白了,常数5是怎么与16进制数进行与操作的,忘大神解释一下,如果5可以与 $ff000000进行与操作,结果是什么呢。

小弟刚刚接触Delphi。
zhengrotnum : integer;
展开
 我来答
dodolon
推荐于2016-01-04 · TA获得超过7713个赞
知道大有可为答主
回答量:4477
采纳率:84%
帮助的人:2136万
展开全部
程序、数据都在内存中,为什么常数不能进行与操作?难道常数不用放内存中就能用了?此外,CPU内还有寄存器,不少数据操作还要把数据装入寄存器去完成,这些都是用高级语言编程看不到的,也无需关心的,编译器会帮你做这样的事。
追问
上面贴出来的是源程序,我得闹明白这几行输出的是什么数据,然后我用其它的高级语言编辑程序,既然你知道,麻烦给我说下,结果是什么,delphi我根本不会用
追答
and 是按位与操作,这个不用说了吧。shr 24 是把与操作的结果右移24位,左边补0,右边移出的丢掉。这样说应该清楚了吧?
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式