Skip to content

BITSET


从整数副本中获取指定位已置位的值。

语法

#define Bitset( value, bit_number ) ((value) or (Cast(TypeOf(Value), 1) shl (bit_number)))

用法

result = Bitset( value, bit_number )

参数

value

整数值。

bit_number

要置位的位的索引。

返回值

返回指定位已置位的整数值。

说明

该宏展开为整数 value 的副本,其中指定的 bit_number 被置位(设为 1)。其行为等同于 value Or (1 Shl bit_number)

要置位变量中的指定位,可使用以下赋值方式:variable = Bitset( variable, bit_number )

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

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

示例

start GeSHi

vb
Print Bin(BitSet(&b10001,2))
Print BitSet(4, 0)
Print Hex(BitSet(1ull, 63))

end GeSHi

将产生以下输出:

10101
 5
8000000000000001

方言差异

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

与 QB 的差异

  • FreeBASIC 新增。

另请参阅

  • Bit
  • Bitreset

返回 目录

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