Skip to content

BITRESET


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

语法

#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 新增。

另请参阅

  • Bit
  • Bitset

返回 目录

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