社区
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下试一下,通过了再答。。。
...全文
41
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语言入门到c++使用
高手
对于想入行C++开发的朋友,我通过这个套餐课程为您铺设一条从C语言入门到C++开发
高手
的语言学习和成长之路,让您在1年内成长到别人要花费5年甚至更久才能成长到的程度,您只需要按照这几门课程的从简到繁的顺序努力...
最新仙镜传说服务器C语言源码
最新的仙镜传说服务器C语言源码,这是日本最新在布的,数据库类型为文件型数据库。这个源码相当的完整,只要编译一次后就可以运行了,但得用到客户端的两个文件一个是data.grf另一个是sdata.grf,大家都可以试试!我编译成功的环境:Redhat 9.0 成功使用环境:win2k因为不
懂
C语言,但还是发现程序中存在着一些问题,哪位
高手
可以把这个C语言代码转为Delphi的呀?转好了别忘了发给我一份哦~我的E-mail:cndx@tom.com
C语言经典编程282例源码
学习C语言的朋友,如果你把这些 C语言经典编程282例源码搞
懂
,把这些程序敲一遍,能够灵活运用,那么我可以告诉你,你已经是一个人C语言
高手
了,不信可以试试。
Delphi
5,386
社区成员
262,729
社区内容
发帖
与我相关
我的任务
Delphi
Delphi 开发及应用
复制链接
扫一扫
分享
社区描述
Delphi 开发及应用
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章