BITSET
- 来源: https://www.freebasic.net/wiki/wikka.php?wakka=KeyPgBitset
- 最后更新: 2020-06-16
从整数副本中获取指定位已置位的值。
语法
#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 新增。
另请参阅
BitBitreset
返回 目录