BitReset
 
Получает значение целого числа с указанным битом, который сброшен в нуль.

Синтаксис

#define BitReset( value, bit_number ) ((value) And Not (Cast(TypeOf(Value), 1) Shl (bit_number)))

Использование

result = BitReset( value, bit_number )

Параметры

value
Значение integer.
bit_number
Индекс бита для его сброса.

Возвращаемое значение

Возвращает целочисленное значение с указанным сброшенным битом.

Описание

Этот макрос расширяет копию целого числа value с указанным сброшенным bit_number  (бит сброшен, или `0`). Ведет себя как `value And Not (1 Shl bit_number)`.

Допустимый диапазон значений для bit_number зависит от размера в битах `TypeOf(value)`, который является `0` посредством `SizeOf(value) * 8 - 1`. См. Лимиты стандартных типов данных с таблицей стандартных типов данных и их размеров.

Пример

Print BitReset(5,0)
Print Hex(BitReset(&h8000000000000001,63))

вывод:

 4
1

Различия диалектов

  • Не допускается в диалекте -lang qb , но есть псевдоним __Bitreset.

Отличия от QB

  • Новое в FreeBASIC.

См. также