文章目录
  1. 1. 下面是我最近项目中用到的一个针对WORD类型的循环左移(ROL)实现代码:

在汇编语言中,我们可以直接使用ROL ROR等指令进行循环左移和循环右移的操作。
但C语言中却没有对应的操作,没办法只能自己实现了。

下面是我最近项目中用到的一个针对WORD类型的循环左移(ROL)实现代码:

1
2
3
4
uint16_t ROL(int val, int n)
{
return (val << n) | (val >> (16 - n));
}

针对BYTE类型的循环左移:

1
2
3
4
uint8_t ROL(int val, int n)
{
return (val << n) | (val >> (8 - n));
}

针对DWORD类型的循环左移:

1
2
3
4
uint32_t ROL(int val, int n)
{
return (val << n) | (val >> (32 - n));
}

文章目录
  1. 1. 下面是我最近项目中用到的一个针对WORD类型的循环左移(ROL)实现代码: