BITRESET
- 来源: https://www.freebasic.net/wiki/wikka.php?wakka=KeyPgBitreset
- 最后更新: 2020-06-16
从整数副本中获取指定位已清零的值。
语法
#define Bitreset( value, bit_number ) ((value) and not (Cast(TypeOf(Value), 1) shl (bit_number)))用法
result = Bitreset( value, bit_number )参数
value
整数值。
bit_number
要清零的位的索引。
返回值
返回指定位已清零的整数值。
说明
该宏展开为整数 value 的副本,其中指定的 bit_number 被清零(设为 关 或 0)。其行为等同于 value And Not (1 Shl bit_number)。
要清零变量中的指定位,可使用以下赋值方式:variable = Bitreset( variable, bit_number )
bit_number 的有效取值范围取决于 Typeof(value) 的位数大小,从 0(最低位)到 Sizeof(value) * 8 - 1(最高位)。请参阅 标准数据类型限制 了解标准数据类型及其大小的表格。
若 bit_number 超出有效范围,该宏的结果是未定义的。
示例
start GeSHi
vb
Print Bin(BitReset(&b10101, 2))
Print BitReset(5,0)
Print Hex(BitReset(&h8000000000000001,63))end GeSHi
将产生以下输出:
10001
4
1方言差异
- 在 -lang qb 方言中不可用,除非使用别名
__Bitreset引用。
与 QB 的差异
- FreeBASIC 新增。
另请参阅
BitBitset
返回 目录