次の方法で共有


_lrotl、_lrotr

ビットの並びを左方向 (_lrotl 関数) または右方向 (_lrotr 関数) に回転します。

unsigned long _lrotl( 
   unsigned long value, 
   int shift  
); 
unsigned long _lrotr( 
   unsigned long value, 
   int shift  
);

パラメーター

  • value
    ビットを回転する値。

  • shift
    値をシフトされるビット数。

戻り値

関数は、回転後の値を返します。 エラーの戻り値はありません。

解説

_lrotl_lrotr 関数は shift ビットで 値を 切り替えます。 _lrotl は値を左に回転します。 _lrotr は値を右に回転します。 いずれの関数も、value の一方の端からあふれたビットを他方の端から取り込みます。

必要条件

ルーチン

必須ヘッダー

_lrotl

<stdlib.h>

_lrotr

<stdlib.h>

互換性の詳細については、「C ランタイム ライブラリ」の「互換性」を参照してください。

ライブラリ

C ランタイム ライブラリのすべてのバージョン。

使用例

// crt_lrot.c

#include <stdlib.h>
#include <stdio.h>

int main( void )
{
   unsigned long val = 0x0fac35791;

   printf( "0x%8.8lx rotated left eight times is 0x%8.8lx\n", 
            val, _lrotl( val, 8 ) );
   printf( "0x%8.8lx rotated right four times is 0x%8.8lx\n", 
            val, _lrotr( val, 4 ) );
}

出力

0xfac35791 rotated left eight times is 0xc35791fa
0xfac35791 rotated right four times is 0x1fac3579

同等の .NET Framework 関数

使用できません。標準 C 関数を呼び出すには、PInvoke を使用します。詳細については、「プラットフォーム呼び出しの例」を参照してください。

参照

関連項目

浮動小数点サポート

_rotl、_rotl64、_rotr、_rotr64