__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ü