__ll_lshift

Microsoft'a Özgü

Sağlanan 64 bit değerini belirtilen bit sayısıyla sola kaydırıyor.

Sözdizimi

unsigned __int64 __ll_lshift(
   unsigned __int64 Mask,
   int nBit
);

Parametreler

Maske
[in] Sola kaydıracak 64 bit tamsayı değeri.

nBit
[in] Kaydıracak bit sayısı.

Dönüş değeri

Maske bitler halinde nBit sola kaydırıldı.

Gereksinimler

Içsel Mimari
__ll_lshift x86, x64

intrin.h üst bilgi dosyası<>

Açıklamalar

Programınızı 64 bit mimari için derlerseniz ve nBit 63'ten büyükse, kaydıracak bit sayısı modulo 64'tür nBit . Programınızı 32 bit mimari için derlerseniz ve nBit 31'den büyükse, kaydıracak bit sayısı modulo 32'dir nBit .

ll adındaki değeri bunun üzerinde__int64 bir işlem long long olduğunu gösterir.

Örnek

// ll_lshift.cpp
// compile with: /EHsc
// processor: x86, x64
#include <iostream>
#include <intrin.h>
using namespace std;

#pragma intrinsic(__ll_lshift)

int main()
{
   unsigned __int64 Mask = 0x100;
   int nBit = 8;
   Mask = __ll_lshift(Mask, nBit);
   cout << hex << Mask << endl;
}

Çıktı

10000

Not

Sol shift işleminin imzasız sürümü yok. Bunun nedeni __ll_lshift , zaten imzasız bir giriş parametresi kullanmasıdır. Sağ kaydırmadan farklı olarak, sol kaydırma için işaret bağımlılığı yoktur, çünkü sonuçtaki en az önemli bit, kaydırılan değerin işaretinden bağımsız olarak her zaman sıfır olarak ayarlanır.

END Microsoft'a Özgü

Ayrıca bkz.

__ll_rshift
__ull_rshift
Derleyici iç bilgileri