Jabarkan #include <climits> dari Geseran melingkar

#if __cplusplus > 201100L // Pakai constexpr dalam C++ 11 untuk mempermudah pengoptimalan

#endif // Lihat pula https://stackoverflow.com/a/7269693/3770260

INT rol(INT nilai, size_t jumlah) {

#if __cplusplus > 201100L && _wp_force_unsigned_rotate // Pakai pemeriksaan tak bertanda C++ 11 agar masuk akal

"Geseran kiri hanya masuk akal untuk jenis bilangan bulat tak bertanda");

return (nilai << jumlah) | ((unsigned) nilai >> (-jumlah & (sizeof(INT) * CHAR_BIT - 1)));

Bila barisan bit  digeser melingkar sebanyak satu bit, barisan tersebut akan menjadi berikut: (lihat gambar)

Apabila geseran melingkar diteruskan, hasil pergeserannya adalah sebagai berikut: