Share via


_bittestandcomplement, _bittestandcomplement64

[Diese Dokumentation ist nur eine Vorschau und wird in späteren Versionen ggf. geändert. Blank topics are included as placeholders.]

Microsoft-spezifisch

Generieren Sie die btc-Anweisung, die die Adresse b Bit aüberprüft, seinen aktuellen Wert zurückgibt und das Bit in den entsprechenden Komplement festlegt.

unsigned char _bittestandcomplement(
   long *a,
   long b
);
unsigned char _bittestandcomplement64(
   __int64 *a,
   __int64 b
);

Parameter

  • [in, out] a
    Ein Zeiger auf den zu überprüfenden Arbeitsspeicher.

  • [in] b
    Die Bitposition zu testen.

Rückgabewert

Das Bit an der Position angegeben.

Anforderungen

Intrinsisch

Architektur

_bittestandcomplement

x86, IPF, x64 

_bittestandcomplement64

IPF, x64

Headerdatei <intrin.h>

Hinweise

Auf der IPF-Architektur ist die btc-Anweisung nicht verfügbar, sodass diese systeminterne eine benutzerdefinierte Funktion, die das Verhalten von btcnachahmt. Diese benutzerdefinierte Funktion ist möglicherweise langsamer als eine handgeschriebene Inlinefunktion, da sie Mehraufwand beinhaltet das Behandeln des Falls, in dem es unnötig ist negativ b , das in bestimmten Fällen werden.

Diese Routine ist als systeminterne Funktion nur verfügbar.

Beispiel

// bittestandcomplement.cpp
// processor: x86, IPF, x64
#include <stdio.h>
#include <intrin.h>

#pragma intrinsic(_bittestandcomplement)
#ifdef _M_AMD64
#pragma intrinsic(_bittestandcomplement64)
#endif

int main()
{
   long i = 1;
   __int64 i64 = 0x1I64;
   unsigned char result;
   printf("Initial value: %d\n", i);
   printf("Testing bit 1\n");
   result = _bittestandcomplement(&i, 1);
   printf("Value changed to %d, Result: %d\n", i, result);
#ifdef _M_AMD64
   printf("Testing bit 0\n");
   result = _bittestandcomplement64(&i64, 0);
   printf("Value changed to %I64d, Result: %d\n", i64, result);
#endif
}

Beispielausgabe

Initial value: 1
Testing bit 1
Value changed to 3, Result: 0
Testing bit 0
Value changed to 0, Result: 1

Siehe auch

Referenz

Systeminterne Funktionen des Compilers