Bagikan melalui


_lrotl, _lrotr

Memutar bit ke kiri (_lrotl) atau kanan (_lrotr).

Sintaks

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

Parameter

value
Nilai yang akan diputar.

shift
Jumlah bit yang akan digeser value.

Nilai hasil

Kedua fungsi mengembalikan nilai yang diputar. Tidak ada pengembalian kesalahan.

Keterangan

Fungsi _lrotl dan _lrotr diputar value berdasarkan shift bit. _lrotl memutar nilai yang tersisa, ke bit yang lebih signifikan. _lrotr memutar nilai dengan benar, ke bit yang kurang signifikan. Kedua fungsi membungkus bit diputar dari value satu ujung ke ujung lainnya.

Persyaratan

Rutin Header yang diperlukan
_lrotl, _lrotr <stdlib.h>

Untuk informasi kompatibilitas selengkapnya, lihat Kompatibilitas.

Contoh

// crt_lrot.c

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

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

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

Baca juga

Dukungan matematika dan titik mengambang
_rotl, _rotl64, _rotr, _rotr64