软件下载 | 资讯教程 | 最近更新 | 下载排行 | 一键转帖 | 发布投稿
您的位置:最火下载站 > 电脑教程 > 编程开发 > C/C++开发 > 循环左移,循环右移的宏定义C/C++版

循环左移,循环右移的宏定义C/C++版

网络安全实验课算MD5和SHA1的时候要用到循环移位,自己算嫌麻烦,于是写了个程序,变成宏定义就精简多了...

0x20是十进制的32,你是多少位的类型就换成多少就好了,这里是int。原理也很简单,两边一来一去然后或一下把空出来的0补全...

循环左移:

#define CROL(value, bits) ((value << bits) | (value >> (0x20 - bits)))

循环右移:

#define CROR(value, bits) ((value >> bits) | (value << (0x20 - bits)))

参数value是int型变量

参数bits是循环移位的位数

    相关阅读