c++将函数左旋转或右旋转


//将16位数字左旋转或右旋转
//original:0x2345
//rotate left 0x5234
//rotate right 0x3452

#include <iostream>
using namespace std;
unsigned short int rotate16Left(unsigned short int num, int n) {
	return (num >> n | num << (16 - n));
	
}
unsigned short int rotate16Right(unsigned short int num, int n) {
	return (num << n | num >> (16 - n));
}
int main()
{
	unsigned short int num = 0x2345;
	printf("original:%#x
", num);
	printf("rotated left:%#x
", rotate16Left(num,4));
	printf("rotated right:%#x
", rotate16Right(num,4));

	return 0;
}