在线急救!#define MASK_BIT(bit) (1 << (bit)) 作何解?在DELPHI中如何表示?

wukang 2003-08-21 09:48:11
在VC++中有如下语句
#define MASK_BIT(bit) (1 << (bit))
这句话该如何解释?

我想在DELPHI中表示出来,如何办到?
...全文
150 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
balas 2003-08-21
  • 打赏
  • 举报
回复
这句的意思是:MASK_BIT (1)的值是
0x0000 0002
就是看wVBoardStatus[0] 的第二位是否置位。
MASK_BIT (1)相当于一个数,当然可以再用了。

akun 2003-08-21
  • 打赏
  • 举报
回复
看下面.....

MASK_BIT(0) 0x000000001
MASK_BIT(1) 0x000000002
MASK_BIT(2) 0x000000004
MASK_BIT(3) 0x000000008
MASK_BIT(4) 0x000000010
MASK_BIT(5) 0x000000020
MASK_BIT(6) 0x000000040
MASK_BIT(7) 0x000000080
MASK_BIT(8) 0x000000100

.....
wukang 2003-08-21
  • 打赏
  • 举报
回复
看下例:
m_check1.SetCheck (((wVBoardStatus[0] & MASK_BIT (1)) == 0)? 0 : 1);
MASK_BIT (1)在这里是什么意思?我现在用过后,下次是否可再次使用?就是这句能不能通过?
m_check2.SetCheck (((wVBoardStatus[1] & MASK_BIT (1)) == 0)? 0 : 1);
akun 2003-08-21
  • 打赏
  • 举报
回复
将1左移bit位。
delphi中不会没有移位操作吧?
没有的话就是 2 的 bit次方。
wukang 2003-08-21
  • 打赏
  • 举报
回复
搞定,谢先

16,472

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC相关问题讨论
社区管理员
  • 基础类社区
  • Web++
  • encoderlee
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

        VC/MFC社区版块或许是CSDN最“古老”的版块了,记忆之中,与CSDN的年龄几乎差不多。随着时间的推移,MFC技术渐渐的偏离了开发主流,若干年之后的今天,当我们面对着微软的这个经典之笔,内心充满着敬意,那些曾经的记忆,可以说代表着二十年前曾经的辉煌……
        向经典致敬,或许是老一代程序员内心里面难以释怀的感受。互联网大行其道的今天,我们期待着MFC技术能够恢复其曾经的辉煌,或许这个期待会永远成为一种“梦想”,或许一切皆有可能……
        我们希望这个版块可以很好的适配Web时代,期待更好的互联网技术能够使得MFC技术框架得以重现活力,……

试试用AI创作助手写篇文章吧