BIT
- 来源: https://www.freebasic.net/wiki/wikka.php?wakka=KeyPgBit
- 最后更新: 2020-06-16
获取整数值中某个位的状态。
语法
#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 新增
另请参阅
BitsetBitreset
返回 目录