Skip to content

BIT


获取整数值中某个位的状态。

语法

#define Bit( value, bit_number ) (((value) and (Cast(TypeOf(value), 1) shl (bit_number))) <> 0)

用法

result = Bit( value, bit_number )

参数

value

整数值。

bit_number

位的索引。

返回值

若该位已置位则返回 Integer-1,若该位已清零则返回 0

说明

该宏展开为一个整数值,指示 bit_number 指定的位在整数 value 中是否已置位。其行为等同于 (value And 1 Shl bit_number) <> 0

bit_number 的有效取值范围取决于 Typeof(value) 的位数大小,从 0(最低位)到 Sizeof(value) * 8 - 1(最高位)。请参阅 标准数据类型限制 了解标准数据类型及其大小的表格。

bit_number 超出有效范围,该宏的结果是未定义的。

示例

start GeSHi

vb
Print Bit(&B1000, 3)
Print Bit(4,2)
Print Bit(5,1)
Print Bit(&H8000000000000000ULL,63)

end GeSHi

将产生以下输出:

-1
-1
 0
-1

方言差异

  • -lang qb 方言中不可用,除非使用别名 __Bit 引用。

与 QB 的差异

  • FreeBASIC 新增

另请参阅

  • Bitset
  • Bitreset

返回 目录

基于 FreeBASIC 官方文档翻译 如有侵权请联系我们删除
FreeBASIC 是开源项目,与微软公司无隶属关系