社区
Delphi
帖子详情
100分!懂C 的高手来拿吧!
flyinwuhan
2003-10-21 09:26:51
DWORD ByteIndex;
BYTE BitNumber;
PBYTE pANDBits;
pANDBits[ByteIndex] |= (1<<BitNumber);
pANDBits[ByteIndex] &= ~(1<<BitNumber);
谁能把上面两条语句转化为Pascal语句,立马给分!
拜托:请在delphi下试一下,通过了再答。。。
...全文
42
10
打赏
收藏
100分!懂C 的高手来拿吧!
DWORDByteIndex; BYTE BitNumber; PBYTE pANDBits; pANDBits[ByteIndex] |= (1<<BitNumber); pANDBits[ByteIndex] &= ~(1<<BitNumber); 谁能把上面两条语句转化为Pascal语句,立马给分! 拜托:请在delphi下试一下,通过了再答。。。
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
10 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
王集鹄
2003-10-21
打赏
举报
回复
//...
PByteArray(pANDBits)^[ByteIndex] := PByteArray(pANDBits)^[ByteIndex] or (1 shl BitNumber);
PByteArray(pANDBits)^[ByteIndex] := PByteArray(pANDBits)^[ByteIndex] and ($FF xor (1 shl BitNumber));
//...
佣工7001
2003-10-21
打赏
举报
回复
如果你不想改变pANDBits的类型,就用位操作把其他的位去掉,然后付给一个BYTE类型的变量,再与1<<BitNumber进行运算。
pANDBits[ByteIndex] |= (1<<BitNumber); ——>>
var
ByteIndex :DWORD;
BitNumber:BYTE;
pANDBits:PBYTE;
pBit:BYTE;
n:Cardinal;
begin
n := pAndBits^;
n := (ByteIndex -1) shl n;
n:= n shr (32 - ByteIndex);
pBit := n;
pBit := pBit or (1 shl BitNumber);
end;
tigerhohoo
2003-10-21
打赏
举报
回复
刚才弄错了这个应该是正确的.
var
ByteIndex : DWORD;
BitNumber : BYTE;
pANDBits : PBYTE;
tmpBit : BYTE;
test : array[0..10] of BYTE;
pANDBitsArray : PByteArray;
begin
ByteIndex := 2;
test[2] := 101;
BitNumber := 1;
pANDBits := @test[0];
pANDBitsArray := ADDr(pANDBits^);
tmpBit := 1 shl BitNumber;
pANDBitsArray^[ByteIndex] := pANDBitsArray^[ByteIndex] or tmpBit;
tmpBit := 1 shl BitNumber;
pANDBitsArray^[ByteIndex] := pANDBitsArray^[ByteIndex] and (not tmpBit);
ShowMessage(IntToStr(integer(pANDBitsArray^[ByteIndex])));
end;
flyinwuhan
2003-10-21
打赏
举报
回复
To: zswangII(伴水清清)(职业清洁工)
我不想转化pANDBits的类型,因为它其实是本函数的一个参数,我为了演示才写在函数体内。
flyinwuhan
2003-10-21
打赏
举报
回复
To: tigerhohoo(老虎不吃人)
pANDBits不是数组类型,语法检查都通不过。。。。。。C太灵活了
zswangII
2003-10-21
打赏
举报
回复
//参考如下代码~~
//var
// pANDBits: array[0..N] of Byte; //建议声明成静态的数组~~
begin
//...
pANDBits[ByteIndex] := pANDBits[ByteIndex] or (1 shl BitNumber);
pANDBits[ByteIndex] := pANDBits[ByteIndex] and ($FF xor (1 shl BitNumber));
//...
end;
tigerhohoo
2003-10-21
打赏
举报
回复
BitNumber := 1 shl BitNumber;
pANDBits[ByteIndex] = pANDBits[ByteIndex] or BitNumber;
BitNumber := 1 shl BitNumber;
pANDBits[ByteIndex] = pANDBits[ByteIndex] and (not BitNumber);
ls2008
2003-10-21
打赏
举报
回复
我也頂!!
shanxing
2003-10-21
打赏
举报
回复
不懂,帮你顶一下
hiflower
2003-10-21
打赏
举报
回复
var
ByteIndex:DWord
BitNumber:Byte;
pANDBits:PByte;
PByteArray(pANDBits)[ByteIndex]:=PByteArray(pANDBits)[ByteIndex] or (1 shl BitNumber);
PByteArray(pANDBits)[ByteIndex]:=PByteArray(pANDBits)[ByteIndex] and not (1 shl BitNumber);
如何读
懂
源代码!如何
分
析源代码方法!
如何读
懂
源代码!如何看
懂
源代码!如何读
懂
别人的代码,
分
析源代码方法,有利于编程!比较适合莱鸟!当然较深的
高手
也可以看看!
谭浩强C语言全书word版,学习c语言从零开始!
谭浩强C语言全书word版,学习c语言从零开始!谭浩强老前辈的呕心奉献,叫你从不
懂
编程到编程
高手
!!
最新仙镜传说服务器C语言源码
我编译成功的环境:Redhat 9.0 成功使用环境:win2k因为不
懂
C语言,但还是发现程序中存在着一些问题,哪位
高手
可以把这个C语言代码转为Delphi的呀?转好了别忘了发给我一份哦~我的E-mail:cndx@tom.com
C语言经典编程282例源码
学习C语言的朋友,如果你把这些 C语言经典编程282例源码搞
懂
,把这些程序敲一遍,能够灵活运用,那么我可以告诉你,你已经是一个人C语言
高手
了,不信可以试试。
C语言资料大全1.0
本资料大全致力于收集一切关于C语言的文章、技巧、教程、源代码和辅助工具软件。适合所有层次的C语言学习者。本资料大全免费下载,如您手头也有C语言相关资料,敬请
分
享,另外如您对本资料大全有任何建议或者意见...
Delphi
5,388
社区成员
262,729
社区内容
发帖
与我相关
我的任务
Delphi
Delphi 开发及应用
复制链接
扫一扫
分享
社区描述
Delphi 开发及应用
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章